2012-09-04 4 views
1

밝은 웹 사이트를보고, 나는 최근 활동 창을 어떻게 달성했는지 알아 내려고하고 있습니다. 기본적으로 자신의 웹 사이트에서 Facebook에 로그인하면 내 친구들이 최근 변경 사항을 날짜별로 정렬하여 작업하게되었습니다. 무슨 뜻인지 보려면 여기를보세요 : friends_work_history 권한을Facebook API 친구가 일하고 교육을 최근에 변경했습니다.

  • 을 사용하고 그래프와 /me/friends?fields=name,work 같은 작업 필드를 검색 :

    bright activity

    이것은 내가 지금까지이 시간에 무슨 짓을했는지입니다 API. 그게 나에게 친구의 직장 역사와 현재 위치를 제공하지만, 나는 여전히 현재 직장 고용주의 최근 변경 날짜를 알 수 없다.

  • feed 개체 (그래프 API 사용)와 내 친구의 stream 개체 (이번에는 FQL 사용)를보고 작업 변경 사항을 필터링 할 수 있는지 확인했습니다. 아직도 운이 없다. 나는 그들의 일과 관련된 이야기 나 활동을 찾을 수 없다.

지금 내가 틀렸다면 고쳐주세요. 그러나 그 친구와 일하는 데 필요한 날짜를 변경하는 것은 다소 불가능합니다. 가장 좋은 세상에서 우리가 원하는 것은 사용자가 처음으로 웹 사이트를 사용하고 Facebook을 사용하여 로그인 할 때 밝은 이미지의 이미지에서 볼 수있는 것과 같은 "최근 활동"을 표시하고자하는 것입니다. .

이것이 실제로 가능하지 않다면, 우리는 친구 사이에서 가장 최근의 작업 업데이트의 기록을 보는 것을 잊을 것이고, 우리는 현재의 "스냅 샷"을 취하여 그곳에서 일할 것입니다.

  • Google의 자체 추적 시스템을 사용하면 기본적으로 하루 중 일부 시간에 Facebook Graph API를 풀링하여 사용자의 친구 작업 기록에 변경 사항을 찾을 수 있는지 확인할 수 있습니다.

또는

  • 어쩌면 어쩌면 우리가 변화의 이러한 종류를 추적 할 수있는 페이스 북 https://developers.facebook.com/docs/reference/api/realtime/의 실시간 업데이트 서비스를 사용합니다. 그러나 더 많이 생각할수록 친구 작업 영역의 변경 사항을 추적 할 수 없기 때문에 더 이상 작동하지 않을 것이라고 생각합니다.

어쨌든 누군가가 그 문제를 해결할 수 있었습니까? 미리 감사드립니다!

답변

0

FQL을 사용하여이 작업을 수행 할 수 있어야합니다. 최근에 일자리를 바꾼 친구를 찾을 수 없으므로이 일이 무엇인지 확인하지 못합니다. 이 같은

사용 무언가 :

SELECT post_id, message, type, attribution, description,description_tags FROM stream 
    WHERE source_id IN (SELECT uid1 FROM friend WHERE uid2 = me()) AND 
    strpos(description,"added a job") > 0 

당신에게 그 게시물을 받아야합니다. 제 생각에 이것들은 고유 한 type 값을 가지고 있습니다.이 값을보다 효율적으로 필터링 할 수 있습니다.

stream 테이블이 지난 30 일 동안의 게시물 만 반환하도록 hobled되었음을 잊지 마십시오. 중요한 기록을 얻으려면 여러 쿼리를 실행해야합니다.

+0

답변 해 주셔서 감사합니다.일부 FQL 테스트 후, "고용주"가 올바른 단어가 아닌 것으로 나타났습니다 (내가 생각한 밝은 웹 사이트에서만 사용됨). 대신 "추가 된 작업"을 사용해야합니다. 게다가'WHERE source_id IN (SELECT uid1 FROM friend WHERE uid2 = me()) '를 사용하여 쿼리를하는 것은 지난 며칠 동안 만 작동한다는 것을 알았습니다 (최소한, 그 쿼리를 사용하여 4 월에 작업을 변경 한 친구를 찾았습니다) . 나는 대신 과거에 작동하는'WHERE source_id = [some_friend_uid]'와 같은 것을 시도했다. – plgrenier

+0

내가 지금 궁금해하는 것은, 예를 들어 500 명의 친구가있는 경우 수동으로 500 개의 쿼리를 수행하는 것이 과도하다고 생각합니다. 맞습니까? 내가 여기서 누락 된 것이 있습니까? – plgrenier

+0

문서에 따르면'stream' 테이블은 50 개의 결과 중 큰 값이나 지난 30 일 동안의 데이터를 반환하도록 제한됩니다. 따라서 쿼리에 'AND created_time <2012-04-30'을 추가하여 해당 친구의 데이터를 가져와야합니다. 단 12 개의 쿼리 (또는 하나의 멀티 쿼리)로 500 명의 친구들 모두에게 1 년치 데이터를 제공 할 수 있어야합니다. – cpilko

관련 문제