首页 > 解决方案 > 使用不记名令牌在 Twitter API 中获取用户信息

问题描述

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

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

是否有任何 API 可以使用 URL 获取用户屏幕名称?

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

提前致谢。

标签: phpapitwitter

解决方案


啊,我懒得阅读整个文档。
以下是关于 App-only 身份验证的所有内容。您需要做的就是首先在 RFC 1738 中对消费者密钥和秘密进行编码,然后将它们重新编码为

Base64 "RFC-1738-encoded-consumer-key:RFC-1738-encoded-consumer-secret"

格式。您将获得不记名令牌凭据,例如

eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJnNmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw==这。

现在您需要做的就是通过发布请求获取不记名令牌

https://api.twitter.com/oauth2/token?grant_type=client_credentials这个网址。

一定要设置标题

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

您将获得 json 格式的 Bearer Token。

现在对于每个请求,只需在标头中发送此不记名令牌,例如

Authorization: Bearer bearer-token

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


推荐阅读