4

Google+ プロフィール ページのソースを見ると、かなり複雑に見えます。ほとんどのデータは巨大な JSON のようなオブジェクトに保持されているようです。ただし、デコードしようとすると認識されないため、実際には JSON ではないようです。ここにいる他の人にとって、フォーマットがより明確になることを願っています。それをどのように解析しますか?どこから始めればよいかを知っていれば、それはかなり些細なことのように思えます。

サンプル プロファイルは次のとおりです: http://plus.google.com/104560124403688998123

4

4 に答える 4

6

ここに私が取り組んでいるPHP APIがあります。プロファイル ページと人々の公開関係のデータをダウンロードして解析できます。

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

JSON 部分は少し壊れています。有効な JSON を生成するには、基本的に、XSRF 攻撃を防ぐ最初の 5 文字を削除し、削除されたすべての null を追加する必要があります。奇妙な Google Plus JSON 応答の解析処理に固有のコードを次に示します。

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

GoogleUtil::FetchGoogleJSON( $url ) を呼び出すと、データを取得できる巨大な配列が返されます。これを使用すると、独自のアプリで使用できる有効な json(p) に変換するプロキシ サービスを簡単に作成できます。

于 2011-07-12T22:18:40.420 に答える
1

私はまだ Google+ にアクセスできないので、一般的な質問、つまり、JSON を解析する方法についてだけお答えします。

JSON は単なる JavaScript であるため、解析はスクリプトを評価するのと同じくらい簡単です。これを行うには、eval()JavaScript 関数を使用します。

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

もう 1 つのオプションは、コンソール ツールを活用することです。人気のある最近のブラウザーには、ほとんどすべてのブラウザーが含まれています。特に Firefox には Firebug をお勧めします。

Firefox を使用して Google+ にログインし、Firebug コンソールを開きます。コンソールのdir()コマンドを使用して、ブラウズ可能なデータ表現を作成できます。元:

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

申し訳ありませんが、特に Google+ の JSON を処理する方法について、これ以上具体的に説明することはできません。サービスにアクセスできない場合、これは私が盲目的にできる最善の方法です。幸運を!

于 2011-07-05T20:59:56.063 に答える
1

プロファイル ページを配列に読み込む優れた php クラスを提供してくれた Jason に感謝します。

このクラスをベースとして使用し、元の appspot rss フィード アプリケーションの Russell Beattie の python コードに基づいて解析しました。

コードはこちら

いくつかのメモ:

  1. これを使用して G+ フィードと WP フィードをマージし、投稿を中間配列 ($items) に書き込みます。
  2. 私は、投稿を書く前に行を太字にし、2 つの改行を追加することによって、Google Plus の投稿に疑似タイトルを作成する慣習を持っています。関数 getTitle はこれを私の Web サイトのより適切な形式のタイトルとして取り除き、getSummary はタイトルを複製して残りの投稿を生成します。
于 2011-12-14T19:07:26.690 に答える
0

これは、picasa 画像を説明するオブジェクト、プロフィールのフィールドを説明するオブジェクト、友達を説明するオブジェクトなど、いくつかの部分で構成されています。

長い数字のほとんどは、人、投稿、写真の内部 ID です。たとえば、私の ID は 105249724614922381234 です。それ以外は、必要に応じて解析できます。

于 2011-07-05T21:29:08.290 に答える