歡迎轉載(註明出處)或直接轉貼網址也ok,但是請不要直接把內容摳走貼在別的地方~

 不想看廢話前言直接按此

===================================================

會來研究這個是因為有網友在問,怎麼用 sharedposts 都取不到資料,所以就來研究一下

因為我印象中之前好像是可以的~

如果只看標題似乎感覺很簡單似的,因為語法官網也寫得很清楚

就是使用 /{object-id}/sharedposts

https://developers.facebook.com/docs/graph-api/reference/v2.1/object/sharedposts

但是相信我,這篇絕對不是用來混篇數的 @@

這簡直試到頭破血流才得到的答案

因為官網文件寫說 commentslikes 都是使用{object-id}

也因為我 comments 跟 likes 都是使用Po文的ID來帶入的

ex : https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=232633627068_10152756840542069%2Fcomments&version=v2.1

所以很自然在取得shared post 的時候就用了post_id

但是卻發現一直取不到資料

Clipboard02  

然後也照官網說的,要取資料前要先取得 read_stream permission 了

但是還是空的

Clipboard02

網路上關於sharedposts的資料又少的摳憐,大部分都是轉貼個官網連結

然後最後讓我找到了這篇

Information of re-shared status

裡面有提到  The sharedposts field applies to a status id

我只知道post_id、uid、page_id、object_id 不知道什麼是 status id @@

官網好像也沒提到這個編號去哪找,而且返回的 JSON 裡面也沒這欄位

後來才發現post_id 的_ 符號後面那串好像就是所謂的 status id

ex :  Po文的編號是 232633627068_10152756840542069 的話

status id 就是 10152756840542069

所以試了一下就馬上可以用了

Clipboard02  

想要看結果的話請點下面: 

測試前請先取得access_token 並且切換到Extended Permissions,取得

https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=10152756840542069%2Fsharedposts&version=v2.1

 

 

創作者介紹
創作者 小雕 的頭像
小雕

小雕雕的家

小雕 發表在 痞客邦 留言(11) 人氣()


留言列表 (11)

發表留言
  • 悄悄話
  • 悄悄話
  • 悄悄話
  • 悄悄話
  • 昨天
  • 請問現在有辦法找到email嗎? UID好像不能用了~ thanks :)
  • 找email必須要特殊權限才可以,必須要跟facebook 申請權限

    小雕 於 2014/12/15 11:34 回覆

  • Jas Chiang
  • 請問一下,我可以取得完整的留言名單,但是分享名單我只能取得前幾十筆,就算設定 limit 也是一樣 @@

  • hello 分享名單的話,如果要取得完整資料必須要取得read_stream權限的樣子
    不然好像只會取得公開的資料喔
    如果沒申請的話可以到app的 status & review 照步驟去申請
    (申請過程有點嚴格)

    小雕 於 2015/02/26 17:39 回覆

  • Ed
  • 可以教一下怎麼申請嗎?
    有點不懂
  • 你可以到你的APP設定中的 status & review 裡面有個 Submit Items for Approval,點選start a submission,勾選你要申請的權限即可,但是要用英文寫說明給facebook (用中文會被退件),說明你申請的這個權限會使用在哪邊,印象中還要截圖說明有點嚴格

    小雕 於 2015/03/09 09:46 回覆

  • Jas Chiang
  • 我確定那些分享都公開看得到,但是我只抓得到特定幾筆資料 orz

    假設分享有一千筆,而且都公開,但是我只抓得到其中 100 筆 XD
  • 你是直接在你程式中測試的嗎? 還是在Graph API Explorer 工具中測試的?
    https://developers.facebook.com/tools/explorer
    你先試試看在工具中測試,然後勾選read_stream 看能不能查到全部的資料,如果可以的話應該還是權限的問題~

    小雕 於 2015/03/09 09:49 回覆

  • Ray
  • hi你好,最近發現用您的方法有個問題...
    測試了幾篇分享數較少的post...都有抓到名單
    但share數超過一定數量 (ex 2000)就會完全抓不到...想請教是權限的問題嗎?
  • hello 我覺得有可能是權限問題...(不確定)
    請問你是在facebook 的 explorer tool 中測試的嗎?
    可以想辦法取得"完整"的read_steam權限再試試看
    透過explorer tool取得的access token可能有被限制

    但筆數不足也可能是facebook 本身的問題

    請看此篇bug回報
    https://developers.facebook.com/bugs/1404733043148335/

    官方說明大概是這樣...因為可能使用者在隱私設定中,關閉了讓app存取他們分享的連結,因此API就無法抓到 (也不算bug)

    小雕 於 2015/03/18 14:03 回覆