2013-02-19 30 views
6

Tôi đang tạo Ứng dụng iOS cần hiển thị tweet trong nguồn cấp dữ liệu Danh sách mà tôi đã thiết lập. Vấn đề là [tôi không muốn sử dụng tài khoản twitter của người dùng cuối cùng], tôi chỉ muốn hiển thị một nguồn cấp dữ liệu danh sách trong ứng dụng, bằng cách kéo dữ liệu của nó qua API Twitter.Nguồn cấp dữ liệu Twitter trong ứng dụng iOS - cách tôi có thể nhận nguồn cấp dữ liệu danh sách từ tài khoản của riêng mình [mà không cần người dùng ứng dụng được đăng nhập vào twitter]

Thật không may cho tôi, API Twitter sau phiên bản 1.1, yêu cầu xác thực để làm bất cứ điều gì với nó.

https://dev.twitter.com/docs/api/1.1/get/lists/statuses#example-request

Tất cả các trường hợp tôi đã thấy đang sử dụng đăng nhập của người dùng cuối trong iOS để kéo thức ăn ở, mà làm việc, nhưng đây là vấn đề của tôi:

Tôi có thể xác nhận những yêu cầu cho danh sách nguồn cấp dữ liệu, không có người dùng cuối đang sử dụng ứng dụng cần được đăng nhập vào tài khoản twitter của riêng họ trên iOS. tức là các yêu cầu được xác thực bằng một tài khoản twitter cụ thể [mỏ]?

hoặc nếu có cách lấy dữ liệu nguồn cấp dữ liệu thô mà không sử dụng API twitter [tôi cần dữ liệu thô để đặt vào UITableView trong ứng dụng của mình - tôi không muốn sử dụng UIWebView].

điều này sẽ làm cho nguồn cấp dữ liệu có thể truy cập cho người dùng cuối mà không cần tài khoản twitter [danh sách nguồn cấp dữ liệu công khai, vì vậy tôi không biết tại sao nó cần xác thực ngay từ đầu].

Rất cám ơn!

+0

Bạn đã cố gắng tạo tiện ích danh sách cho web bằng tài khoản của mình (https://twitter.com/settings/widgets), sau đó tìm hiểu mã JS để truy xuất điểm cuối công khai cho danh sách cụ thể đó, sau đó sử dụng nó trong ứng dụng như là nguồn? Tôi thấy 'localhost' được hỗ trợ tự động, vì vậy về mặt kỹ thuật lấy nó cục bộ thông qua ứng dụng nên có thể - nhưng tôi đã không thử nó, đó là một ý tưởng của đỉnh đầu của tôi. – f055

Trả lời

14

**** Cập nhật: ** là họ dường như là một vấn đề yêu cầu giới hạn trong cách tiếp cận này, sử dụng sau câu trả lời https://stackoverflow.com/a/15419005/1228669

Nó sử dụng STTwitter,

Nó chứa một phương pháp để kiểm tra giới hạn yêu cầu

- (void)getRateLimitsForResources:(NSArray *)resources // eg. statuses,friends,trends,help 
       successBlock:(void(^)(NSDictionary *rateLimits))successBlock 
        errorBlock:(void(^)(NSError *error))errorBlock { 

sử dụng phương pháp này để kiểm tra giới hạn api hiện nay, như bây giờ giới hạn api là dành cho khoảng 15 phút, để biết thêm chi tiết chuyến thăm Twitter 1.1 API Limit

=================================

Nếu bạn chưa tìm thấy giải pháp, bạn có thể thử phương pháp này

1 đăng ký ứng dụng của bạn tại twitter

https://dev.twitter.com/apps

2 ở phía dưới của trang thông tin ứng dụng "nhấp vào tạo thẻ truy cập của tôi" nút

nó sẽ tạo access token và bí mật

3 Tải FHSTwitterEngine

https://github.com/fhsjaagshs/FHSTwitterEngine

Sử dụng mã sau đây để thiết lập access token để cơ twitter

self.engine = [[FHSTwitterEngine alloc]initWithConsumerKey:@"yourAppConsKey" andSecret:@"yourAppsecret"]; 
OAToken *token = [[OAToken alloc] init]; 

token.key = @"setaccessToken"; 
token.secret = @"setAccessTokenSecret"; 
[self.engine setAccessToken:token]; 

Bạn có thể thử phương pháp này để có được tweets

[self.engine getTimelineForUser:username isID:NO count:1]; 

Ngoài ra hãy chắc chắn SystemConfigura .framework được thêm vào dự án của bạn

+0

làm cách nào để có được người theo dõi người dùng và tên người sau ... – Jitendra

1

Sử dụng STTwitter thư viện bạn có thể nhận twitter nguồn cấp dữ liệu mà không cần đăng nhập có những phương pháp để có được tất cả các mốc thời gian hoặc cho các danh sách đặc biệt sử dụng screenname đầu tiên bạn thiết lập phím tiêu dùng và bí mật:

self.twitter = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:kTwitterConsumerKey 
               consumerSecret:kTwitterSecretKey]; 

và sau đó để có được thời gian từ danh sách sử dụng màn hình tên:

[_twitter verifyCredentialsWithSuccessBlock:^(NSString *bearerToken) { 
    // NSLog(@"Access granted with %@", bearerToken); 

    // load user tweets according to list 
    [_twitter getListsStatusesForSlug:kSlug screenName:kScreenName ownerID:nil sinceID:nil maxID:nil count:nil includeEntities:0 includeRetweets:0 successBlock:^(NSArray *statuses) { 
     //your code for getting feeds from array statuses 
    } errorBlock:^(NSError *error) { 
     NSLog(@"-- error: %@", error); 
    }]; 

} errorBlock:^(NSError *error) { 
    NSLog(@"-- error %@", error); 
}]; 

này làm việc cho tôi và nếu bạn muốn có được danh sách người theo động cơ sử dụng FHSTwitter và phương pháp để kiểm tra tình trạng là:

[[FHSTwitterEngine sharedEngine] lookupFriendshipStatusForUsers:users areIDs:NO]; 
Các vấn đề liên quan