この情報にアクセスできます。関係状況の更新は、user_relationships
とread_stream
の権限で確認できます。あなたはその結果を解析する必要がありますが、正確な話(および関連コメント)を抽出し、関係の更新は次のようになりますするには:
{
"id": "10000xxxxxxxxxx_2yyyyyyyyyy",
"from": {
"name": "Foo Bar",
"id": "10000xxxxxxxxxx"
},
"story": "Foo Bar went from being \"in a relationship\" to \"single.\"",
"story_tags": {
"0": [
{
"id": 10000xxxxxxxxxxx,
"name": "Foo Bar",
"offset": 0,
"length": 9,
"type": "user"
}
]
},
"actions": [
{
"name": "Comment",
"link": "http://www.facebook.com/10000xxxxxxxxxx/posts/2yyyyyyyyyy"
},
{
"name": "Like",
"link": "http://www.facebook.com/10000xxxxxxxxxx/posts/2yyyyyyyyyy"
}
],
"type": "status",
"created_time": "2012-05-05T07:36:32+0000",
"updated_time": "2012-05-05T07:36:32+0000",
"comments": {
"data": [
{
"id": "10000xxxxxxxxxx_2yyyyyyyyyyy_7zzzzz",
"from": {
"name": "Foo Bar",
"id": "10000xxxxxxxxxx"
},
"message": "YaY",
"created_time": "2012-05-05T07:45:31+0000"
}
],
"count": 1
}
},
物語に関係する2人のユーザーがあります(たとえば:XXXがありますYYYとの関係で)、'story_tags'
フィールドには、他のユーザーのIDも含むタグがあります。
私は、離婚、離婚、未亡人(わからない)の更新はないと思います。
その他の関係の更新は以下のように(網羅的ではない)が考えられますので、アップデートを抽出するために
Alice is in a relationship with Bob and it's complicated.
Alice is in an open relationship with Bob.
Alice is single.
、二つの条件があるように持って会っ:フィールド'story'
が存在する必要があり、それは、キーワードの関係のいずれかが含まれている必要があります、独身、婚約、または結婚した。
ストーリー/投稿IDを取得したら、簡単にコメントを抽出できます。
APIコール:
https://graph.facebook.com/me_or_id/feed
https://graph.facebook.com/me_or_id/posts
APIコール:https://graph.facebook.com/me_or_id/statuses
もuser_status
とuser_relationship_details
権限で、望ましい結果が得られませんでした。
AFAIKこれは現時点では唯一の方法です。
編集:FQL方法:FQLに
我々はstream tableを照会することができます。文書では、各投稿は、自動生成された投稿、すなわちユーザによって作られていない、例えば友人になっているユーザ、または関係の変更の場合にはヌルでない記述フィールドを有することが言及されている。他の投稿には、メッセージフィールド(およびnull
の説明フィールド)があります。この記述フィールドは、グラフapiメソッドのstory
フィールドに似ています。そのような自動生成された投稿の文書には記載されていないtype
が9に設定されます(タイプの説明はタイプ9にはありません)。とにかく、これらの追加条件で制限付きのクエリを作成し、正しいデータを取得することができます。これは、他のストーリーを削除するために解析する必要がありますが、少なくとも解析するデータは少なくなります。
問合せ:
SELECT post_id, type, description, comments FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0 AND type = 9
あなたは前に述べたキーワードのために再び説明フィールドを解析する必要があります。
注:何らかの理由でこの1つのクエリでコメントを取得できませんでした(コメント配列は常に空でした)が、クエリ結果からpost_id
というグラフAPIを呼び出したときにコメントが表示されました。
@nickbこれは私が考えている瞬間の唯一の方法です –
ありがとうございました!しかし、これをユーザーのストリームから解析する必要があるため、FQLを使用してこれらの投稿を直接照会することは可能ですか? – nickb
@nickb fqlで更新された答えを確認します。 –