-1

Twitterを使用してシングルサインオンシステムを開発するタスクが与えられましたが、サードパーティのAPIを使用することは許可されていません。ただし、CURLとPHPの使用は許可されています。これを行うための最良の方法は何でしょうか。これまでのところ私はこれを持っていますが、それは機能しません。「oauth署名とトークンの検証に失敗しました」というエラーを出力します

これを行う方法についてアドバイスをお願いします。

$fields = array(
            'oauth_callback'        => 'http://www.mydomain.co.uk/redirect.php'
        );

        //url-ify the data for the POST
        foreach( $fields as $key=>$value ) {
            $fields_string .= $key.'='.$value.'&'; 
        }

        rtrim( $fields_string, "" );

        echo $fields_string;

        $curl = curl_init( "https://api.twitter.com/oauth/request_token" );

        //Send auth data to twiter
        curl_setopt( $curl, CURLOPT_POST, count( $fields ) );
        curl_setopt( $curl, CURLOPT_POSTFIELDS, $fields_string );

        //Will return json object
        curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );

        $result = curl_exec($curl);

        //debugger
        if( $debug ){
            if( ! curl_errno( $curl ) ) {
                $info = curl_getinfo( $curl );
                echo 'Took ' . $info[ 'total_time' ] . ' seconds to send a request to ' . $info[ 'url' ];
            }
        }


        curl_close( $curl );

        echo $result;
4

1 に答える 1

0

PEAR HTTP_OAUTH ライブラリの使用をお勧めします。車輪を再発明する理由はありません。

于 2012-08-15T20:41:45.213 に答える