2011-07-05 51 views
4

如果您查看Google+个人资料页面的来源,它看起来相当复杂。看起来大部分数据都保存在一个巨大的类似JSON的对象中。但是,它们似乎并不是真正的JSON,因为当我尝试对它们进行解码时,它们不会被识别。我希望这里的格式更加清晰。你会如何解析它?如果你知道从哪里开始,它似乎相当微不足道。是否可以解析Google+(Google Plus)个人资料页面?

下面是一个示例配置文件,例如:http://plus.google.com/104560124403688998123

回答

6

这是我正在研究的PHP API。它可以下载和解析个人资料页面和人们公共关系的数据。

https://github.com/jmstriegel/php.googleplusapi

的JSON片有点错位。要生成有效的JSON,基本上必须删除阻止XSRF攻击的前5个字符,然后添加已删除的所有空值。下面是具体到操作解析怪异的谷歌加JSON响应代码:

https://github.com/jmstriegel/php.googleplusapi/blob/master/lib/GooglePlus/GoogleUtil.php

呼叫GoogleUtil :: FetchGoogleJSON($网址),你会得到一个巨大的阵列,然后可以从中提取数据。使用这种方法,将代理服务转换为有效的json(p)以供您在自己的应用程序中使用应该是微不足道的。

1

我没有访问Google+的,所以我将只回答一般性的问题 - 那就是,如何解析JSON。

JSON只是JavaScript,因此解析它就像评估脚本一样简单。为此,请使用JavaScript函数eval()

var obj = eval('{"JSON":"goes here"}'); 

另一种选择是利用控制台工具。流行的现代浏览器几乎都有它们。我特别推荐Firefox的Firebug。

使用Firefox,登录到Google+,然后打开Firebug控制台。您可以使用控制台的dir()命令创建数据的可浏览表示。例如:

console.dir(eval('{"JSON":"goes here"}')); 

对不起,我不能具体谈谈如何获得的谷歌+ JSON尤其是手柄;无法获得服务,这是我能做到最好的盲目。祝你好运!

+0

刚刚寄给你邀请... –

+0

样本简介:http://plus.google.com/104560124403688998123 – burger

+0

谢谢丰富!我的gmail账号是wilson.jim.r – jimbojw

0

它由多个部分组成,一个描述您的Picasa图像的对象,一个描述您的个人资料中的字段,一个描述您的朋友。

大部分长号码是人员,帖子和照片的内部ID。例如,我的ID是105249724614922381234.除此之外,如果需要,可以解析它。

+0

看起来像JSON的部分无法用标准功能解码来解码JSON。我只是不确定数据的格式。 – burger

+0

@bigmac - 请参阅我上面的答案,了解如何解码它的PHP实现。 –

1

感谢Jason为优秀的php类读取配置文件页面。

我使用这个类作为基础,然后根据来自原始appspot rss feed应用程序的Russell Beattie的python代码对其进行解析。

代码here

的几个注意事项:

  1. 我用这个合并G +和WP饲料,因此写文章到中间数组($项目)。
  2. 我有一个在Google Plus帖子中创建一个伪标题的约定,在写帖子之前插入一行并添加两个换行符。函数getTitle在我的网站中将其作为一个更好的格式化标题,getSummary生成剩余的帖子并重复标题。
相关问题