当前位置: 首页 > 知识库问答 >
问题:

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

宇文鸿畴
2023-03-14

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

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

有什么API可以让我使用URL获取用户屏幕名称吗?

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

提前感谢。

共有2个答案

越新霁
2023-03-14

我希望我能理解你。用户向您提供URLtwitter。com/edent并且您希望在不使用API的情况下从中获取名称和化身。正当

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

呼叫https://avatars.io/twitter/edent你会看到我的头像。

遗憾的是,如果不使用API,就无法获得名称。你可以尝试删除HTML,但Twitter可能会改变它的工作方式。s

费明诚
2023-03-14

啊,我真懒得看整个留档。
这里有关于仅应用程序身份验证的所有内容。您需要做的就是首先在RFC 1738中编码消费者密钥和机密,然后在
中重新编码它们

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

总体安排您将获得像

EHZ6MWV2RLM0D0VFUFRHRUZQSEJVZZPMOHFXOVBAEVJNNMLS0DFS2HAB2XHQZB2SLDZHPRUO4OERSZHLPZW==

现在,您只需使用

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格式的无记名令牌。

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

Authorization: Bearer bearer-token

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

 类似资料:
  • 使用由ADAL.NET使用此方法生成的承载令牌来保护对API的调用。 然而,当我查看API收到的声明时…没有显示为用户唯一的标识符。Nameidentifier声明对于我为其生成令牌的每个用户都是相同的。 在上面的代码中生成的objectid是令牌生成过程中唯一独特的方面,在令牌的API解构造中表示的声明中,这似乎并不重要。

  • 我目前正在使用Postman来生成承载令牌,我正在自动化测试中使用它。现在,我也想使用Java中的REST Assured来自动化承载令牌生成过程。请帮帮我.谢了。

  • 我正在运行一个Cordova应用程序,它连接到一个承载在Azure上的Web API。我已经使用Azure AD承载身份验证保护了API。当用户试图调用其中一个endpoint时,他会被转发到Azure广告登录页面,输入他的凭据,然后得到令牌。该令牌将添加到API的所有后续请求中。我正在使用mobile apps客户端SDK(cordova-plugin-ms-azure-mobile-apps)

  • 是否可以使用OAuth 2访问令牌从ForgeRock的OpenAM获取用户详细信息(属于资源所有者的属性)? 我有一个受信任的SPA UI,可以使用资源所有者密码凭据授予类型从OpenAM获取访问令牌。然而,该访问令牌没有提供有关资源所有者的信息。类似地,endpoint没有提供任何信息。 OpenAM似乎有用于列出用户属性的endpoint,但是期望使用JWT作为请求的身份验证手段。 如何从访

  • 使用邮递员,我可以毫无问题地获得令牌。如果单击和,我会得到以下代码片段: 当我尝试在Rest Assured中对请求建模时,我得到了一个400错误,但不清楚为什么: 我哪里出了问题很明显吗?是否应该将键/值传递到中?

  • 在Postman中,我可以使用 回调URL Auth URL 客户端ID 我如何使用C#代码做同样的事情?