在messenger(windows live)上检索用户配置文件在php中连接sdk

时间:2010-12-24 14:23:11

标签: php windows rest oauth windows-live-id

我正在使用此示例在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”:“请求不包含有效的PUID。”}

你可以帮我查一下用户信息吗?

编辑:
通过从授权中删除= AuthToken来解决问题,它工作了!

谢谢,

1 个答案:

答案 0 :(得分:0)

是!

让它在数小时后尝试从ms¬¬

尝试大量不同的样本

问题是授权:WRAP access_token = AuthToken =

刚删除了AuthToken =并且有效!

所以它现在是这样的:
'授权:WRAP access_token =“'。$ wrapper-&gt; getReturnedParameter('wrap_access_token')。'”''