我被赋予了使用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;
答案 0 :(得分:0)
我建议使用PEAR HTTP_OAUTH库。没有理由重新发明轮子。