3

我无法从 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; )

作为 client->request 的结果返回的是上面那个 JSON 的最后一部分,带有 updated_time 的部分,加上一些标点符号。

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

这种技术以前有效(但有几个 OAuth 1 提供者)。我对 Microsoft 和 Windows Live ID 不是很熟悉,但到目前为止,这个过程似乎很简单。

4

1 回答 1

0

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

于 2012-05-10T17:16:54.417 回答