Próbuję wywołać następujące API Twittera, aby uzyskać listę obserwujących dla użytkownika.
http://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=username
W odpowiedzi otrzymuję ten komunikat o błędzie.
{
code = 215;
message = "Bad Authentication data";
}
Nie mogę znaleźć dokumentacji związanej z tym kodem błędu. Czy ktoś ma pojęcie o tym błędzie?
Odpowiedzi:
Bardzo zwięzły kod bez żadnego innego pliku php zawiera oauth itp. Uwaga: aby uzyskać następujące klucze, musisz zarejestrować się na https://dev.twitter.com i utworzyć aplikację.
pozdrowienia
źródło
Jedyne rozwiązanie jakie do tej pory znalazłem to:
Za pomocą tych tokenów możesz wysyłać uwierzytelnione żądania w imieniu użytkownika. Możesz to zrobić z tą samą biblioteką.
Spowoduje to wyświetlenie listy znajomych użytkownika.
źródło
ZNALEZIONO ROZWIĄZANIE - korzystając z biblioteki Abraham TwitterOAuth . Jeśli używasz starszej implementacji, po utworzeniu wystąpienia nowego obiektu TwitterOAuth należy dodać następujące wiersze:
Pierwsze 2 wiersze są teraz udokumentowane w pliku Readme biblioteki Abrahama, ale trzeci nie. Upewnij się również, że Twoja oauth_version to nadal 1.0.
Oto mój kod do pobierania wszystkich danych użytkownika od `` users / show '' z nowo uwierzytelnionym użytkownikiem i zwracania pełnej nazwy użytkownika i ikony użytkownika za pomocą 1.1 - następujący kod jest zaimplementowany w pliku wywołania zwrotnego uwierzytelniania:
Poniższy kod znajduje się w przekierowaniu po uwierzytelnieniu i żądaniu tokenu
Zbyt długo zajęło mi to rozgryzienie. Mam nadzieję, że to komuś pomoże!
źródło
Adres URL
/1.1/
w nim jest poprawny, jest to nowa wersja API Twittera 1.1.Potrzebujesz jednak aplikacji i autoryzujesz swoją aplikację (i użytkownika) za pomocą protokołu OAuth.
Przeczytaj więcej na ten temat w witrynie dokumentacji programistów Twittera :)
źródło
Odpowiedź Gruika zadziałała dla mnie w poniższym wątku.
{Fragment | Zend_Service_Twitter - Przygotuj API v1.1 }
źródło
AKTUALIZACJA: Twitter API 1 jest obecnie przestarzały. Zobacz powyższą odpowiedź.
Twitter 1.1 nie działa z taką składnią (kiedy pisałem tę odpowiedź). Musi być 1, a nie 1,1. To zadziała:
http://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=username
źródło
protected $apiVersion = '1.1';
w pliku EpiTwitter.php działa dobrze dla Twitter API w wersji 1.1Po dwóch dniach badań w końcu okazało się, że dostęp do tweetów tak publicznych wystarczy żadnych poświadczeń aplikacji, a nie te, które poszczególnych użytkowników. Więc jeśli rozwijasz się dla klienta, nie musisz go o nic prosić.
Aby korzystać z nowego Twitter API 1.1, potrzebujesz dwóch rzeczy:
Najpierw możesz (właściwie trzeba) utworzyć aplikację z własnymi danymi uwierzytelniającymi, a następnie uzyskać token dostępu (OAUTH_TOKEN) i tajny klucz dostępu (OAUTH_TOKEN_SECRET) z sekcji „ Twój token dostępu ”. Następnie podajesz je w konstruktorze dla nowego obiektu TwitterOAuth. Teraz możesz uzyskać dostęp do publicznych tweetów każdego .
Właściwie myślę, że to też zasugerował Paweł , ale nie jest to takie oczywiste z jego odpowiedzi.
Mam nadzieję, że to uratuje komuś te dwa dni :)
źródło
Musisz wysłać customerKey i customerSecret do Zend_Service_Twitter
źródło
Może to pomóc komuś, kto używa Zend_Oauth_Client do pracy z API Twittera. Ta konfiguracja robocza:
Wygląda na to, że twitter api 1.0 pozwala na wersję oauth 1.1 i 1.0, podczas gdy twitter api 1.1 wymaga tylko wersji oauth na 1.0.
PS Nie używamy Zend_Service_Twitter, ponieważ nie pozwala on na wysyłanie niestandardowych parametrów przy aktualizacji statusu.
źródło
Upewnij się, że masz uprawnienia do odczytu i zapisu dla aplikacji w serwisie Twitter
źródło
Używam HybridAuth i wystąpił ten błąd podczas łączenia się z Twitterem. Wyśledziłem to do (mnie) wysyłania do Twittera nieprawidłowego typu żądania (get / post zamiast GET / POST).
Spowodowałoby to 215:
To nie:
Uwaga dodatkowa: w przypadku HybridAuth również nie będzie (ponieważ HA wewnętrznie dostarcza poprawnie wielkości liter dla typu żądania):
źródło
Cały czas miałem do czynienia z tym samym problemem, jedynym rozwiązaniem, które odkryłem, jest pisanie na klawiaturze
CONSUMER_KEY
iCONSUMER_SECRET
bezpośrednio do nowej definicji klasy TwitterOAuth.Nie używaj do tego zmiennych ani statystyk i zobacz, czy problem został rozwiązany.
źródło
Tutaj najpierw każdy musi użyć oauth2 / token api, a następnie użyć followers / list api .
W przeciwnym razie otrzymasz ten błąd. Ponieważ interfejs API obserwujących / list wymaga uwierzytelnienia.
W szybkim (dla aplikacji mobilnej) również miałem ten sam problem.
Jeśli chcesz poznać interfejs API i jego parametry, kliknij ten link, Pobierz szybko listę znajomych z Twittera?
źródło
Wiem, że to jest stare, ale wczoraj napotkałem ten sam problem podczas wywoływania tego adresu URL za pomocą C # i klasy HttpClient z tokenem uwierzytelniającym Bearer:
http://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=username
Okazuje się, że rozwiązaniem dla mnie było użycie HTTPS zamiast HTTP. Więc mój adres URL wyglądałby tak:
https : //api.twitter.com/1.1/followers/ids.json? kursor = -1 & screen_name = nazwa użytkownika
Oto fragment mojego kodu:
źródło
{"errors":[{"message":"Bad Authentication data","code":215}]}
Wypróbuj ten eksplorator API Twittera , możesz zalogować się jako programista i przesyłać zapytania, co chcesz.
źródło