我正在使用PHP curl从URL获取Oauth令牌:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: ' . oauth_headers($consumer_key, $consumer_secret, $token, $token_secret, $verifier)));curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
https://www.yammer.com/oauth/request_token
然后,我通过以下方式得到了答复:
输出
-------
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 10 Oct 2012 10:32:47 GMT
.........
.........
oauth_token=6y33AOcKOJVRVRggumfa9Q&oauth_token_secret=usjLakBRQh3Cq4rTWT1aJe9NVo7XKiATYIWvvVovI&oauth_callback_confirmed=true
如何从结果中提取oauth_token_secret
和oauth_token
?
答案 0 :(得分:1)
您应该使用parse_str()
。
将CURLOPT_HEADER
更改为false
,然后:
$result = curl_exec($ch);
$string = parse_str($result);
echo $oauth_token_secret;
echo '<br />--------<br />';
echo $oauth_token;
答案 1 :(得分:0)
如果这是你得到的答案,你可能希望得到oauth -... sting,它将在双换行符之后(“\ n”)
那么你可以这样做:
parse_str(substr($s, strpos($s, "\n\n"));
echo $oauth_token_secret;
echo $oauth_token;
您也可以尝试这样来查看解析的内容:
parse_str(substr($s, strpos($s, "\n\n"), $test);
var_dump($test);