Estou tentando chamar o seguinte API do Twitter para obter uma lista de seguidores de um usuário.
http://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=username
E estou recebendo esta mensagem de erro em resposta.
{
code = 215;
message = "Bad Authentication data";
}
Não consigo encontrar a documentação relacionada a este código de erro. Alguém tem ideia desse erro?
Respostas:
Um código muito conciso sem qualquer outro arquivo php que inclua oauth etc. Observe que para obter as seguintes chaves, você precisa se inscrever em https://dev.twitter.com e criar o aplicativo.
Saudações
fonte
A única solução que encontrei até agora é:
Usando esses tokens, você pode fazer solicitações autenticadas em nome do usuário. Você pode fazer isso com a mesma biblioteca.
Isso retornará sua lista de amigos do usuário.
fonte
ENCONTROU UMA SOLUÇÃO - usando a biblioteca Abraham TwitterOAuth . Se você estiver usando uma implementação mais antiga, as seguintes linhas devem ser adicionadas após o novo objeto TwitterOAuth ser instanciado:
As primeiras 2 linhas agora estão documentadas no arquivo Leiame da biblioteca Abraham, mas a terceira não está. Certifique-se também de que sua oauth_version ainda é 1.0.
Aqui está meu código para obter todos os dados do usuário de 'users / show' com um usuário recém-autenticado e retornar o nome completo do usuário e o ícone do usuário com 1.1 - o código a seguir é implementado no arquivo de callback de autenticação:
O código a seguir está no redirecionamento após a autenticação e a solicitação de token
Levei muito tempo para descobrir isso. Espero que isso ajude alguém !!
fonte
O url com
/1.1/
nele está correto, é a nova API do Twitter versão 1.1.Mas você precisa de um aplicativo e autoriza seu aplicativo (e o usuário) usando oAuth.
Leia mais sobre isso no site de documentação do Twitter Developers :)
fonte
A resposta de Gruik funcionou para mim no tópico abaixo.
{Excerpt | Zend_Service_Twitter - Prepare a API v1.1 }
fonte
ATUALIZAÇÃO: a API 1 do Twitter agora está obsoleta. Consulte a resposta acima.
O Twitter 1.1 não funciona com essa sintaxe (quando escrevi esta resposta). Precisa ser 1, não 1.1. Isso vai funcionar:
http://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=username
fonte
protected $apiVersion = '1.1';
no arquivo EpiTwitter.php funciona bem para a API do Twitter versão 1.1Depois de dois dias de pesquisa, finalmente descobri que, para acessar tweets tão públicos, você só precisa de quaisquer credenciais de aplicativo, e não daquele usuário em particular. Portanto, se você está desenvolvendo para um cliente, não precisa pedir que ele faça nada.
Para usar a nova API 1.1 do Twitter, você precisa de duas coisas:
Primeiro, você pode (na verdade deve) criar um aplicativo com suas próprias credenciais e, em seguida, obter o token de acesso (OAUTH_TOKEN) e o segredo do token de acesso (OAUTH_TOKEN_SECRET) na seção " Seu token de acesso ". Em seguida, você os fornece no construtor para o novo objeto TwitterOAuth. Agora você pode acessar os tweets públicos de qualquer pessoa .
Na verdade, acho que é isso que Pavel também sugeriu, mas não é tão óbvio em sua resposta.
Espero que isso salve mais alguém por dois dias :)
fonte
Você precisa enviar customerKey e customerSecret para Zend_Service_Twitter
fonte
Isso pode ajudar alguém que usa Zend_Oauth_Client a trabalhar com a API do Twitter. Esta configuração de trabalho:
Parece que o twitter api 1.0 permite que a versão oauth seja 1.1 e 1.0, enquanto o twitter api 1.1 exige que apenas a versão oauth seja 1.0.
PS Não usamos Zend_Service_Twitter porque não permite o envio de parâmetros personalizados na atualização de status.
fonte
Certifique-se de ter acesso de leitura E gravação para o aplicativo no Twitter
fonte
Estou usando HybridAuth e encontrei este erro ao conectar-se ao Twitter. Eu rastreei (eu) enviando para o Twitter um tipo de solicitação casada incorretamente (obter / postar em vez de GET / POST).
Isso causaria um 215:
Isso não:
Observação lateral: no caso de HybridAuth, o seguinte também não (porque HA fornece internamente o valor corretamente maiúsculo para o tipo de solicitação):
fonte
Eu estava enfrentando o mesmo problema o tempo todo, a única solução que eu figurava é digitar
CONSUMER_KEY
eCONSUMER_SECRET
diretamente para a nova definição de classe TwitterOAuth.Não use variável ou estática nisso e veja se o problema foi resolvido.
fonte
Aqui, primeiro, cada um precisa usar oauth2 / token api e, em seguida, seguidores / list api .
Caso contrário, você obterá este erro. Porque a API de seguidores / lista requer autenticação.
No swift (para aplicativo móvel) eu também tive o mesmo problema.
Se você quiser saber as APIs e seus parâmetros siga este link, Obter lista de amigos do Twitter rapidamente?
fonte
Eu sei que isso é antigo, mas ontem enfrentei o mesmo problema ao chamar este URL usando C # e a classe HttpClient com o token de autenticação do Bearer:
http://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=username
Acontece que a solução para mim foi usar HTTPS em vez de HTTP. Então, meu URL ficaria assim:
https : //api.twitter.com/1.1/followers/ids.json? cursor = -1 & screen_name = nome de usuário
Então, aqui está um snippet do meu código:
fonte
{"errors":[{"message":"Bad Authentication data","code":215}]}
Experimente este explorador de API do Twitter , você pode entrar como desenvolvedor e consultar o que quiser.
fonte