3

Requests for PHPを使用する Twitter に接続するためのライブラリを作成しています。よくわかりませんが、認証できないため、OAuth を正しく構築しているとは思いません。私はそれを再確認し、別の既存のライブラリと照合しましたが、まだ正しくないようです。

コードはこちらです。

アイデアは、サービスをインスタンス化し、構成パラメーターを送信し、リクエストを実行する前に、'Authorization: OAuth xxx'ヘッダーを生成してそのリクエストに追加することです。

$twitter = array(
    'consumer_key'        => '',
    'consumer_secret'     => '',
    'access_token'        => '',
    'access_token_secret' => '',
    'screen_name'         => '_hassankhan',
    'api_url'             => 'https://api.twitter.com/1.1/'
);

$service = new OAuth1AService('Twitter', $twitter['api_url']);
$service->config($twitter);
$service->doGet(
    'statuses/user_timeline.json',
    array(
        'screen_name'      => '_hassankhan',
        'include_entities' => 'true'
    ),
    array(),
    'raw'
);
print($service->getResult());
4

1 に答える 1

1

tmhOAuth のような既に作成されたライブラリの 1 つを使用することを強くお勧めします。これにより、Twitter API とのやり取りが非常に簡単になります。


あなたの問題に関しては、リクエストに正しく署名していないようです。少なくとも、署名を作成するためにすべてのリクエスト パラメータが含まれているかどうかは、簡単にはわかりませんでした。

oauth_signature パラメーターには、他のすべての要求パラメーターを実行することによって生成される値と、署名アルゴリズムを介した 2 つのシークレット値が含まれています。

署名の作成については、 https ://dev.twitter.com/docs/auth/creating-signature のドキュメントで説明されています。

于 2013-08-28T12:46:26.250 に答える