Twitter API - 代表用户发布状态/推文

时间:2018-06-01 10:19:14

标签: laravel twitter

在我的应用中,用户使用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“:”令牌无效或过期。“}]} ↵“

干杯!

1 个答案:

答案 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