我在Laravel应用程序中使用twitter API。在我的应用中,我想在用户插入url by时获取用户名和个人资料图片。我搜索了很多但找不到。对于用户信息,我必须使用户登录到Twitter并连接我的应用程序以获得访问令牌。我只想使用应用授权,因此用户不需要登录Twitter。我发现使用Bearer令牌推文可以使用此搜索API进行搜索
https://api.twitter.com/1.1/search/tweets.json?q=twitterapi
是否有可以使用URL获得用户屏幕名称的API?
我知道可能有与此类似的帖子,usl的大多数答案都说“此页面不存在”或说要使用Oauth。
谢谢。
答案 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可能会更改其工作方式。