2013-02-19 6 views
6

Robię aplikację na iOS, która musi wyświetlać tweety w kanale które założyłem. Problem polega na tym, że [nie chcę w ogóle używać konta twittera użytkownika końcowego], chcę tylko pokazać, że jedna lista jest dostępna w aplikacji, pobierając dane za pośrednictwem Twitter API.Kanał na Twitterze w aplikacji na iOS - jak mogę uzyskać dostęp do listy tylko z mojego własnego konta [bez potrzeby logowania się użytkownika do serwisu twitter]

Niestety dla mnie Twitter API po wersji 1.1 wymaga uwierzytelnienia, aby cokolwiek z nim zrobić.

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

Wszystkie przypadkach Widziałem korzystania logowanie użytkownika końcowego w ciągu iOS ciągnąć karmę in, który działa, ale tutaj jest mój problem:

mogę uwierzytelniać te żądania listy kanał, bez użytkownika końcowego, który korzysta z aplikacji, która musi być zalogowana na swoje własne konto na Twitterze na iOS. tj. żądania są uwierzytelniane za pomocą jednego konkretnego konta na Twitterze [moje]?

lub jeśli istnieje sposób na uzyskanie danych surowego kanału bez korzystania z API Twittera [muszę surowych danych umieścić w UITableView w mojej aplikacji - nie chcę używać UIWebView].

to spowodowałoby, że kanał byłby dostępny dla użytkowników końcowych bez konta na Twitterze [mimo to nie wiem, dlaczego to uwierzytelnienie jest konieczne].

Wielkie dzięki!

+0

Czy próbowałeś utworzyć widżet listy dla Internetu za pomocą swojego konta (https://twitter.com/settings/widgets), a następnie zagłębić się w jego kod JS, aby pobrać publiczny punkt końcowy dla tej konkretnej listy, a następnie użyć go w swoim aplikacja jako źródło? Widzę, że "localhost" jest obsługiwany automatycznie, więc technicznie pobieranie go lokalnie za pomocą aplikacji powinno być możliwe - ale nie próbowałem tego, to pomysł na samą głowę. – f055

Odpowiedz

14

**** Aktualizacja: ** Ich jest wydaje się być kwestia limitu żądania w tym podejściu, stosowanie następujących odpowiedź https://stackoverflow.com/a/15419005/1228669

Wykorzystuje STTwitter,

Zawiera ona metodę, by sprawdzić żądania limitu

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

stosowanie tej metody w celu sprawdzenia aktualnego limitu api, jak teraz limit API jest dla przedziału 15 minut, więcej szczegółów wizyty Twitter 1.1 API Limit

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

Jeśli jeszcze nie znalazłeś rozwiązania, możesz spróbuj tego podejścia

1 Zarejestruj swoją aplikację na Twitterze

https://dev.twitter.com/apps

2 na dole strony informacyjnej aplikacji „kliknij Utwórz moje token dostępu” przycisk

stworzy token dostępu i tajne

3 Pobierz FHSTwitterEngine

https://github.com/fhsjaagshs/FHSTwitterEngine

użyć poniższy kod, aby ustawić token dostępu do silnika twitter

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

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

Można spróbować tej metody, aby uzyskać tweets

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

Również upewnić SystemConfiguration .framework został dodany do twojego projektu

+0

Jak mogę uzyskać obserwujących użytkowników i następujące nazwiska osób ... – Jitendra

1

Korzystanie STTwitter biblioteki można uzyskać Twitterze bez logowania istnieją metody uzyskania wszystkich terminów lub dla poszczególnych list korzystających screenname pierwszy zestaw kluczy konsument i sekret:

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

a następnie dostać harmonogram z listy za pomocą ekranu Nazwa:

[_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); 
}]; 

ten pracował dla mnie, a jeśli chcesz uzyskać listę zwolenników silnik użycie FHSTwitter i sposobu sprawdzania stanu to:

[[FHSTwitterEngine sharedEngine] lookupFriendshipStatusForUsers:users areIDs:NO]; 
Powiązane problemy