2011-11-10 2 views
2

댓글을 통해 반복하는 페이스 북 앱을 쓰고 있습니다. 내가로부터 코멘트를 얻을 수있는 방법이 있는지페이 스북 (Facebook) 관계 상태 변경 댓글

$posts = $facebook->api('/me/posts/?token='.$session['access_token'],'GET',$params); 

궁금 : 나는 사용자의 게시물을 얻을 수있는 같은 방법으로

$facebook = new Facebook(array(
    'appId' => APP_ID, 
    'secret' => APP_SECRET, 
)); 
$statuses = $facebook->api('/me/statuses/?token='.$session['access_token'],'GET',$params); 

:
나는 사용자의 상태와 자신의 의견을 얻을 수 있습니다 사용자의 관계 변화

(사용자가 관계되는 싱글되는 것을 갔다)

답변

4

Facebook API를 통해 이러한 관계 상태 변경 사항을 현재 사용할 수 없으므로 첨부 된 주석은 지원되지 않습니다. API를 통해이 기능을 사용할 수있게하는 데 수백 번이나 요청되었지만 이유가 무엇인지 모릅니다.

3

이 정보에 액세스 할 수 있습니다. 관계 상태 업데이트는 user_relationshipsread_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 
    } 
}, 

이야기에 관심을 두 명의 사용자가 (예를 들어 : 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/statusesuser_statususer_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 

당신은 이전에 언급 한 키워드에 대해 다시 설명 필드를 구문 분석해야합니다.

참고 : 어떤 이유로이 하나의 쿼리 (주석 배열은 항상 비어 있음)로 주석을 가져올 수 없지만 쿼리 결과에서 post_id과 함께 그래프 API를 호출하면 주석을 얻을 수 있습니다.

+0

@nickb 이것은 내가 생각하는 유일한 순간이다. –

+0

정보를 제공해 주셔서 감사합니다! 그러나 사용자 스트림에서이를 파싱해야하기 때문에 FQL을 사용하여 이러한 게시물을 직접 쿼리 할 수 ​​있습니까? – nickb

+0

@nickb fql로 업데이트 된 답변을 확인하십시오. –

관련 문제