使用承载令牌在Twitter API中获取用户信息

时间:2018-10-26 06:24:54

标签: php api twitter

我在Laravel应用程序中使用twitter API。在我的应用中,我想在用户插入url by时获取用户名和个人资料图片。我搜索了很多但找不到。对于用户信息,我必须使用户登录到Twitter并连接我的应用程序以获得访问令牌。我只想使用应用授权,因此用户不需要登录Twitter。我发现使用Bearer令牌推文可以使用此搜索API进行搜索

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

是否有可以使用URL获得用户屏幕名称的API?

我知道可能有与此类似的帖子,usl的大多数答案都说“此页面不存在”或说要使用Oauth。

谢谢。

2 个答案:

答案 0 :(得分:2)

啊,我真懒得阅读整个文档。
Here涉及仅应用程序身份验证。您需要做的就是首先在RFC 1738中对使用者密钥和机密进行编码,然后在

中对其进行重新编码。
Base64 "RFC-1738-encoded-consumer-key:RFC-1738-encoded-consumer-secret"

格式。您将获得诸如

的不记名令牌凭证。

eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJnNmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw==这个。

现在,您需要做的就是在

的发帖请求中获得不记名令牌

https://api.twitter.com/oauth2/token?grant_type=client_credentials此URL。

请务必使用

设置标题
Authorization: Basic bearer-token-credentials
Content-Type: application/x-www-form-urlencoded
Content-Length: 29 

,您将获得json格式的Bearer Token。

现在对于每个请求,只需在标头中发送此承载令牌,如

Authorization: Bearer bearer-token

,您可以获得不需要用户身份验证的数据。例如,如果要通过屏幕名称或ID获取用户数据,只需在https://api.twitter.com/1.1/users/show.json?screen_name=here-comes-twitter-screen-name URL中发送帖子请求即可。

答案 1 :(得分:1)

我希望我能理解你。用户为您提供了URL twitter.com/edent,而您想从中获取名称和头像而不使用API​​。对吧?

对于化身,您可以作弊并使用https://avatars.io

致电https://avatars.io/twitter/edent,您将得到我的头像图片。

遗憾的是,如果不使用API​​,就无法获得名称。您可以尝试抓取HTML,但Twitter可能会更改其工作方式。