从 Windows Live ID 查询中检索 JSON 结果



我无法从Live ID API调用中检索整个JSON。

我正在使用Windows Live ID通过OAuth2流工作,以便获得个人资料信息(以及一些相关项目,如电话号码和首选电子邮件(。我正在使用perl & Net::OAuth2.

其中的OAuth2部分似乎工作正常;我可以获取访问令牌。我现在要做的是扭转它并检索个人资料信息此身份验证/授权过程的要点。

如果我只是将 URL 重新插入浏览器https://apis.live.net/v5.0/me?access_token=EwA....我得到了我想要的,看起来像 JSON:

{
   "id": "dd62296f10db01bf", 
   "name": "Michael Helm", 
 ....
   "locale": "en_US", 
   "updated_time": "2012-05-03T01:02:59+0000"
}

当我使用一些 perl 模块来构建 url 字符串时,使请求和检索(使用 LWP::UserAgent;使用 HTTP::Request::Common;)

由于客户端>请求而返回的内容看起来像最后一个上面 JSON 的一部分,带有 updated_time 的部分,加上一些标点符号。

我错过了什么? 我需要做什么才能获得整个对象?

这种技术以前有效(但有几个 OAuth 1 提供程序(。我对Microsoft和Windows Live ID并不熟悉,但这个过程直到现在似乎很简单。

如上所述,JSON模块可以读取和解析整个内容,即使Dumper无法打印它。 因此,OAuth 2 处理或 Windows Live API 没有问题。

最新更新