0
のスクリーンネームとの件数がで、リクエストURLのtwitterユーザータイムラインからツイートを取得しようとしています。続きTwitter API httpsリクエストがcurlで失敗しました
私が思うに、私は必要な値を提供し、必要なすべてのフィールドを生成している正確にTwitter上で言及したhttps://dev.twitter.com/oauth/overview/authorizing-requestsページ
は私のスクリプトです:
$param_string = 'oauth_consumer_key='.$consumer_key.
'&oauth_nonce='.$nonce.
'&oauth_signature_method=HMAC-SHA1'.
'&oauth_timestamp='.$timestamp.
'&oauth_token='.$token.
'&oauth_version='.$version.
'&screen_name='.rawurlencode($screen_name).
'&count='.$count;
$base_string = 'POST&'.rawurlencode($url).'&'.rawurlencode($param_string);
$signing_key = rawurlencode($consumer_secret)."&".rawurlencode($token_secret);
$signature = rawurlencode(base64_encode(hash_hmac('sha1', $base_string, $signing_key)));
$auth = 'OAuth oauth_consumer_key="'.rawurlencode($consumer_key).'",'.
'oauth_nonce="'.rawurlencode($nonce).'",'.
'oauth_signature="'.rawurlencode($signature).'",'.
'oauth_signature_method="HMAC-SHA1",'.
'oauth_timestamp="'.rawurlencode($timestamp).'",'.
'oauth_token="'.rawurlencode($token).'",'.
'oauth_version="1.0"';
そして、私のカールリクエストスクリプト:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, True);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, __DIR__."/ca-bundle.crt");
curl_setopt($ch,CURLOPT_CAPATH,__DIR__.'/ca-bundle.crt');
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: $auth"));
$output = curl_exec($ch);
if(curl_error($ch))
{
echo 'HTTP error:' . curl_error($ch);
}else{
echo "<pre>";
var_dump($output);
}
curl_close($ch);
私は自分のPHPスクリプトを実行している間、ツイートの代わりに以下のエラーを表示しています:
string(64) "{"errors":[{"code":32,"message":"Could not authenticate you."}]}"
なぜ機能していないのか教えてください。
おかげで、それは私のために働いたの提案のために – Plycoder
あなたは歓迎されています –