2011-07-05 42 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生成剩餘的帖子並重復標題。
相關問題