2016-10-17 19 views
0

私はtwitter APIへの投稿リクエストを受け取ることができません。ログイン& GETリクエストはうまくいくようです。私はいつもこの応答を受ける:Twitterの投稿のリクエストで401エラーが発生しました

401 Authorization Required response: 
{"errors":[{"code":32,"message":"Could not authenticate you."}]} 

私はLaravel 5.3、Guzzle 6.3とGuzzle/oauth-subscriber 0.3を使用しています。ここに私のコードは次のとおりです。それは問題ではありませんので、TwitterのDEVページで

$stack = HandlerStack::create(); 

$middleware = new Oauth1([ 
    'consumer_key' => env('TWITTER_CLIENT_ID'), 
    'consumer_secret' => env('TWITTER_CLIENT_SECRET'), 
    'token'   => env('TWITTER_TOKEN'), 
    'token_secret' => env('TWITTER_TOKEN_SECRET') 
]); 

$stack->push($middleware); 

$client = new Client([ 
    'base_uri' => 'https://api.twitter.com/1.1/', 
    'handler' => $stack 
]); 

$res = $client->post(
    'account/update_profile_image.json?image=' . $avatar, 
    [ 
    'auth' => 'oauth', 
    ] 
); 

マイアプリの設定は、&読み書きするように設定されています。一度キーを再生成し、サイコロはいない。私はここで間違って何をしていますか?

答えて

0

私はあなたがこのようなポスト要求を記述する必要が判明し、それを修正:

$client->request(
     'POST', 
     'account/update_profile_image.json', 
     [ 
     'multipart' => 
     [ 
     [ 
      'name'  => $name, 
      'contents' => fopen($path), 'r'), 
      'filename' => $fileName 
     ], 
     ], 
     'auth' => 'oauth', 
     //'debug' => true, 
     ] 
    ); 
関連する問題