4 votes

Obtenir des informations utilisateur dans l'API Twitter en utilisant un jeton d'accèsbearer

Je suis en train d'utiliser l'API Twitter dans mon application Laravel. Dans mon application, je veux obtenir le nom d'utilisateur et la photo de profil lorsque l'utilisateur insère l'URL. J'ai beaucoup cherché mais je n'ai pas trouvé. Pour obtenir des informations sur l'utilisateur, j'ai dû demander à l'utilisateur de se connecter à Twitter et de se connecter à mon application pour obtenir un jeton d'accès. Je veux utiliser uniquement l'autorisation de l'application afin que l'utilisateur n'ait pas besoin de se connecter à Twitter. J'ai découvert qu'avec un jeton Bearer, les tweets peuvent être recherchés avec cette API de recherche

https://api.twitter.com/1.1/search/tweets.json?q=twitterapi

Y a-t-il des API que je peux utiliser pour obtenir le nom d'écran de l'utilisateur en utilisant une URL ?

Je sais qu'il peut y avoir des publications similaires à celle-ci, la plupart des réponses avec l'URL disent "Cette page n'existe pas" ou disent d'utiliser Oauth.

Merci d'avance.

6voto

Jitesh Meniya Points 173

Ah, j'étais tellement paresseux pour lire toute la documentation.
Voici tout sur l'authentification de l'application. Tout ce que vous devez faire, c'est d'abord encoder la clé du consommateur et le secret en RFC 1738, puis les réencoder dans

Base64 "clé-du-consommateur-codée-en-RFC-1738:secret-du-consommateur-codé-en-RFC-1738"

format. Vous obtiendrez des identifiants de jeton porteur comme

eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJnNmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw== ceci.

Maintenant, tout ce que vous avez à faire est d'obtenir un jeton porteur avec une requête post avec

[https://api.twitter.com/oauth2/token?grant_type=client_credentials](https://api.twitter.com/oauth2/token?grant_type=client_credentials) cette URL.

Assurez-vous de définir l'en-tête avec

Authorization: Basic code-des-identifiants-de-jeton-porteur
Content-Type: application/x-www-form-urlencoded
Content-Length: 29 

et vous obtiendrez le jeton porteur au format json.

Maintenant, à chaque requête, envoyez simplement ce jeton porteur dans l'en-tête comme

Authorization: Bearer jeton-porteur

et vous pouvez obtenir des données qui ne nécessitent pas d'authentification utilisateur. Par exemple, si vous voulez obtenir les données utilisateur par nom d'écran ou id, envoyez simplement une requête post dans [https://api.twitter.com/1.1/users/show.json?screen_name=](https://api.twitter.com/1.1/users/show.json?screen_name=)**ici-vient-le-nom-d-écran-twitter** l'URL.

0 votes

Y a-t-il un exemple de script pour cela ?

0 votes

Malheureusement non, j'avais créé du code PHP dans l'un de mes projets Laravel lorsque je travaillais dans mon entreprise précédente, mais vous pouvez créer une simple requête Curl dans n'importe quel langage de programmation.

1 votes

@user198989 Si vous avez besoin de code PHP, cela peut vous aider, hackthestuff.com/article/how-to-integrate-oauth2-twitter-api

1voto

Terence Eden Points 9544

J'espère vous comprendre. L'utilisateur vous donne l'URL twitter.com/edent et vous voulez obtenir le nom et l'avatar à partir de cela sans utiliser l'API. C'est ça?

Pour l'avatar, vous pouvez tricher et utiliser https://avatars.io.

Appelez https://avatars.io/twitter/edent et vous obtiendrez mon image d'avatar.

Malheureusement, il n'y a pas de moyen d'obtenir le nom sans utiliser l'API. Vous pourriez essayer de scraper le HTML, mais Twitter peut changer comment cela fonctionne.

0 votes

Merci pour la réponse. Cela m'a aidé dans une certaine mesure. Je suis prêt à utiliser des API, mais cela ne devrait pas demander à l'utilisateur, qui soumet l'URL, de se connecter à Twitter avec mon application. N'y a-t-il pas une API de jeton d'accès simple qui peut être utilisée comme le fait Youtube?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X