在我的应用中,用户使用Twitter OAuth登录,这一切都很好。我存储他们的访问令牌和秘密。我正在使用Laravel。
我想在某些方面代表他们发布推文。在文档中,我需要的端点是 - “状态/更新”。
对于身份验证,文档只是说 - “需要身份验证?是(仅限用户上下文)”
我似乎无法找到完全“用户上下文”身份验证方法以及我需要随请求发送的内容。我是OAuth的真正新手。
对此有任何帮助将不胜感激!!
到目前为止,我已经:
$client = new GuzzleHttp\Client([
'base_uri' => 'https://api.twitter.com/1.1/'
]);
$response = $client->request('POST', 'statuses/update.json', [
'status' => 'Whats up',
'headers' => [
'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8',
'Authorization' => 'Bearer '.$user->token,
]
]);
回来:
“客户端错误:POST https://api.twitter.com/1.1/statuses/update.json
导致401 Authorization Required
响应:↵{”errors“:[{”code“:89,”message“:”令牌无效或过期。“}]} ↵“
干杯!
答案 0 :(得分:0)
抱歉,Bearer
可能仅是应用程序身份验证
Bearer tokens allow for a more secure point of entry for developers to use the Twitter APIs. They are one of the core features of OAuth 2.0. Bearer tokens are a type of access token; authentication which uses bearer tokens is also known sometimes as application-only authentication or auth-only authentication.
https://developer.twitter.com/en/docs/basics/authentication/guides/bearer-tokens
您应将oauth 1.0用于用户上下文
这意味着使用
Oauth ....
用于以用户身份发布推文
您可以使用库支持生成authorization
将其添加到标头
或尝试手工制作,请遵循此https://developer.twitter.com/en/docs/basics/authentication/guides/creating-a-signature