0

我正在使用此示例在 Windows Live 平台上成功建立登录连接:
http://code.msdn.microsoft.com/messengerconnect (oauth 处理程序回调之一)

我从他们的 api 收到一个令牌和一个用户 ID,但我似乎无法理解如何从这些信息中获取用户配置文件。
有谁知道如何做到这一点?
MS 网站上有一些例子,但它们都是 C# 或 javascript 的,我必须用 PHP 来做。

检索令牌和 cid 后,我尝试了此操作,但返回错误:

$url_string = 'http://apis.live.net/V4.1/cid-'.$user->getId().'/Profiles/';
echo("<br/>\n".$url_string);
$curl_session = curl_init($url_string);

// build HTTP header with authorization code
$curl_options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
  'Authorization: WRAP access_token=AuthToken="'.urlencode($_REQUEST['stoken']).'"',
  'Accept: application/json'
  )
);

// setup options for curl transfer
curl_setopt_array($curl_session, $curl_options);

// execute session and get response
$curl_response = curl_exec($curl_session);

print $curl_response;

curl_close($curl_session);

错误是这样的:
{"Title":"ErrorResource","Code":1062,"Message":"Request does not contain a valid PUID."}

你们能帮我检索用户信息吗?

编辑:
通过从授权中删除 =AuthToken 解决了这个问题,它起作用了!

谢谢,

4

1 回答 1

0

是的!

下班后尝试了许多来自 ms 的不同样本 ¬¬

问题是授权:WRAP access_token=AuthToken=

刚刚删除了 AuthToken= 并且它起作用了!

所以它现在是这样的:
'Authorization: WRAP access_token="'.$wrapper->getReturnedParameter('wrap_access_token').'"'

于 2010-12-25T00:14:01.797 回答