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

标签 perl oauth-2.0 live windows-live-id

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

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

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

如果我只是将 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 没有问题。

关于perl - 从 Windows Live ID 查询中检索 JSON 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523464/

相关文章:

perl - 生成动态文件名列表

perl - Sublime 3 (Ubuntu) 中的交互式 Perl 编程

java - 如何使我的 Spring Boot 应用程序使用给定的用户名和密码登录 keycloak?

node.js - Passport-github 支持 Github 的 OAuth v3 API

html - HTML5 中的直播视频

perl - 如何从 Perl 中的数组中删除随机值?

perl - 如何限制 File::Find::Rule 的结果

java - 如何使用带有 OAuth2 身份验证的 Gmail SMTP 使用 java 邮件发送邮件?

java - Intellij Live Templates Editor 中有过滤选项吗?

jquery - live() 鼠标输入/悬停