我试图获得三条腿的Oauth访问,但我无法获得第一步的工作。到目前为止我的代码是:
include("OAuth.php");
$consumer_key = "anonymous";
$consumer_secret = "anonymous";
define("URI", "http://www.google.com");
$request_token_url = URI.'/accounts/OAuthGetRequestToken?scope=https%3A%2F%2Fwww.google.com%2Fh9%2Ffeeds%2F';
$parsed = parse_url($request_token_url);
$params = array();
$oauth_consumer = new OAuthConsumer($consumer_key, $consumer_secret, NULL);
$req_req = OAuthRequest::from_consumer_and_token($oauth_consumer, NULL, "GET", $request_token_url, $params);
$sig_method = new OAuthSignatureMethod_HMAC_SHA1();
$req_req->sign_request($sig_method, $oauth_consumer, NULL);
$request = $req_req->to_url();
$session = curl_init($request);
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1);
// Make the request
$response = curl_exec($session);
//Error Handling:
// there is an error while executing the request,
if (!$response) {
$response = curl_error($curl);
}
curl_close($session);
parse_str($response, $params);
$oauth_token = $params['oauth_token'];
$oauth_token_secret = $params['oauth_token_secret'];
$_SESSION['CONSUMER_KEY'] = $consumer_key;
$_SESSION['CONSUMER_SECRET'] = $consumer_secret;
$_SESSION['REQUEST_TOKEN'] = $oauth_token;
$_SESSION['REQUEST_TOKEN_SECRET'] = $oauth_token_secret;
print_r($_SESSION);我在用OAuth.php。
返回的数组没有提供任何信息:
Array (
[CONSUMER_KEY] => googlecodesamples.com
[CONSUMER_SECRET] => [REQUEST_TOKEN] => [REQUEST_TOKEN_SECRET] =>
)我在Google Oauth参考上找到了这个
如果您的应用程序未注册,请选择HMAC-SHA1 1并使用以下密钥和机密: 使用者密钥:“匿名”使用者 秘密:“匿名”
我修改了consumer_key和consumer_secret变量,但是返回的数组仍然是空的。
我不知道我做错了什么--这是一个基本的H9沙箱开发过程;任何建议都会有帮助。
发布于 2010-08-25 22:08:47
我已经想出了这个办法,
当我打印卷发的回复时,我收到一条信息,上面写着:
这个URL已移到这里:
version]%20=%3E%201.0%20%20%20%20[amp;scope]%20=%3E%20https://www.google.com/h9/feeds/
所以一旦我把$request_token_url换成这个,它就像一个魅力,我终于有了一条腿!两人左:)
https://stackoverflow.com/questions/3569714
复制相似问题