Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在跳过所有OAuth循环之后,我无法从雅虎获得联系人_Php_Yahoo Api - Fatal编程技术网

Php 在跳过所有OAuth循环之后,我无法从雅虎获得联系人

Php 在跳过所有OAuth循环之后,我无法从雅虎获得联系人,php,yahoo-api,Php,Yahoo Api,我已经完成了所有oauth循环,当我打电话获取联系人信息时,只得到一个401错误 这是我的代码: <?php //define yahoo consumer key $yahoo_consumer_key = variable_get('_contact_grabber_yahoo_consumer_key',NULL); define('YAHOO_CONSUMER_KEY', $yahoo_consumer_key); //define yahoo consumer_secret $y

我已经完成了所有oauth循环,当我打电话获取联系人信息时,只得到一个401错误

这是我的代码:

<?php
//define yahoo consumer key
$yahoo_consumer_key = variable_get('_contact_grabber_yahoo_consumer_key',NULL);
define('YAHOO_CONSUMER_KEY', $yahoo_consumer_key);
//define yahoo consumer_secret
$yahoo_consumer_secret = variable_get('_contact_grabber_yahoo_consumer_secret',NULL);
define('YAHOO_CONSUMER_SECRET', $yahoo_consumer_secret);
//define yahoo callback
$yahoo_callback = variable_get('_contact_grabber_yahoo_callback',NULL);
define('YAHOO_CALLBACK', $yahoo_callback);
//define app id constant
$yahoo_app_id = variable_get('_contact_grabber_yahoo_app_id',NULL);
define('YAHOO_APP_ID', $yahoo_app_id);


$url = 
 'http://social.yahooapis.com/v1/user/'.$_SESSION['yahoo']['token']['xoauth_yahoo_guid'].'/contacts?';
$url .= 'oauth_consumer_key='.YAHOO_CONSUMER_KEY;
$url .= '&oauth_nonce='.sha1(time() + rand(0,10));
$url .= '&oauth_signature_method=plaintext';
$url .= '&oauth_timestamp='.time();
$url .= '&oauth_token='.$_SESSION['yahoo']['token']['oauth_token'];
$url .= '&oauth_version=1.0';
$url .= '&oauth_signature='.YAHOO_CONSUMER_SECRET;

$result = drupal_http_request($url);
dpm($result);

?>
这就是错误:

<yahoo:error xml:lang="en-US">
 <yahoo:description>
  Please provide valid credentials. OAuth oauth_problem="signature_invalid", realm="yahooapis.com"
 </yahoo:description>
</yahoo:error>
我找不到解决这个问题的方法。 谢谢


Oskar

如果其他人偶然发现此问题,您不能将明文用于api,您的签名必须使用HMAC-SHA1进行签名


关于如何做到这一点,这里没有什么好的帖子,我从这里开始:

如果其他人偶然发现了这一点,您不能将明文用于api,您的签名必须使用HMAC-SHA1进行签名

关于如何做到这一点,这里没有什么好帖子,我从这里开始: