如果您查看 Google+ 个人资料页面的来源,它会显得相当复杂。似乎大部分数据都保存在一个巨大的类似 JSON 的对象中。但是,它们似乎并不是真正的 JSON,因为当我尝试解码它们时它们没有被识别。我希望这里的其他人更清楚这种格式。你将如何解析它?如果您知道从哪里开始,这似乎是微不足道的。
这是一个示例配置文件,例如:http ://plus.google.com/104560124403688998123
如果您查看 Google+ 个人资料页面的来源,它会显得相当复杂。似乎大部分数据都保存在一个巨大的类似 JSON 的对象中。但是,它们似乎并不是真正的 JSON,因为当我尝试解码它们时它们没有被识别。我希望这里的其他人更清楚这种格式。你将如何解析它?如果您知道从哪里开始,这似乎是微不足道的。
这是一个示例配置文件,例如:http ://plus.google.com/104560124403688998123
这是我正在研究的 PHP API。它可以下载和解析个人资料页面和人们的公共关系的数据。
https://github.com/jmsriegel/php.googleplusapi
JSON 片段有点混乱。要生成有效的 JSON,您基本上必须删除前 5 个防止 XSRF 攻击的字符,然后添加所有已删除的空值。这是特定于处理解析奇怪的 Google Plus JSON 响应的代码:
https://github.com/jmsriegel/php.googleplusapi/blob/master/lib/GooglePlus/GoogleUtil.php
调用 GoogleUtil::FetchGoogleJSON( $url ) 你会得到一个巨大的数组,然后你可以从中提取数据。使用它,制作代理服务将内容转换为有效的 json(p) 供您在自己的应用程序中使用应该是微不足道的。
我还没有访问 Google+ 的权限,所以我只回答一般性问题 - 即如何解析 JSON。
JSON 只是 JavaScript,因此解析它就像评估脚本一样简单。为此,请使用eval()
JavaScript 函数。
var obj = eval('{"JSON":"goes here"}');
另一种选择是利用控制台工具。流行的现代浏览器几乎都有它们。我特别推荐用于 Firefox 的 Firebug。
使用 Firefox,登录 Google+,然后打开 Firebug 控制台。您可以使用控制台的dir()
命令来创建数据的可浏览表示。前任:
console.dir(eval('{"JSON":"goes here"}'));
抱歉,我不能更具体地说明如何处理 Google+ 的 JSON;如果无法访问该服务,这是我能做到的最好的盲目。祝你好运!
感谢 Jason 出色的 php 类,它将个人资料页面读入数组。
我使用这个类作为基础,然后根据来自原始appspot rss feed 应用程序的Russell Beattie 的python 代码对其进行解析。
代码在这里
几点注意事项:
它由多个部分组成,一个对象描述您的 picasa 图片,一个对象描述您的个人资料中的字段,一个对象描述您的朋友。
大多数长数字是人员、帖子和照片的内部 ID。例如,我的 ID 是 105249724614922381234。除此之外,如果需要,可以对其进行解析。