使用圖形API我希望能夠有一個授權用戶「喜歡」一頁一頁。「喜歡」使用Facebook的圖形API
我嘗試發佈以下
https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}
我也得到伴隨JSON響應體「無效POST_ID參數」 HTTP錯誤500。看起來像/likes
資源適合喜歡牆貼而不是頁面。我如何得到這個與頁面一起工作?
使用圖形API我希望能夠有一個授權用戶「喜歡」一頁一頁。「喜歡」使用Facebook的圖形API
我嘗試發佈以下
https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}
我也得到伴隨JSON響應體「無效POST_ID參數」 HTTP錯誤500。看起來像/likes
資源適合喜歡牆貼而不是頁面。我如何得到這個與頁面一起工作?
我相信這是不允許的,除了特定合作伙伴的網站,像狗吠。原因在於安全性,您可以在頁面上放置一些JavaScript,並讓所有訪問該頁面的所有人「在不知情的情況下訪問」。
見How do I "Like" a URL?在Facebook平臺開發者論壇
如果你想在Facebook的內頁選項卡或畫布頁面此功能(說以允許likegated頁面內順心的頁面),一個工作,你身邊能涉及湯姆威爾斯在回答盧克時的建議。你先嵌入他們的喜歡按鈕的iframe版本的網頁,然後簡單地聽你的JS的edge.create
事件,像這樣:
FB.Event.subscribe('edge.create',
function(response) {
alert('You liked the URL: ' + response);
// ...
}
);
在回調中,您可以處理與當用戶發生了什麼喜歡這個頁面,比如像從類似頁面的頁面導航,或者顯示只有喜歡的內容。
當用戶點擊iFrame like按鈕時,您的JS代碼應該會收到edge.create
事件,假定iFrame被配置爲指向相關頁面的url。
我認爲OP在詢問如何以編程方式進行此操作,也許作爲通過自定義控件傳遞「喜歡」的一種方式。 – 2012-09-09 00:23:36
Facebook已經宣佈通過官方built-in Like action喜歡URL的Facebook的外部支持。您需要擁有publish_actions
權限。這個圖表網址是: https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN
但是,你不能使用這個喜歡Facebook上的網頁目前,作爲documentation states:
對於Facebook網頁或網站,不與Facebook 認證系統整合,開發者應該繼續使用Like按鈕 社交插件。
我不認爲你可以像使用內置的陽離子那樣喜歡頁面。你可否確認? – AbhinavVinay 2012-07-03 19:53:52
@AbhinavVinay這是正確的。我更新了答案。 – bkaid 2012-07-03 20:29:40
是否有一個Facebook開發人員資源,說你不能在Facebook頁面上使用內置的。不是說我不相信你,但我正試圖理解爲什麼是這樣。您是否在內建的類似文檔頁面上引用了此聲明:「應用程序使用內置的Like操作,與任何Open Graph操作一樣,需要提交併批准。對於Facebook頁面或網站未與Facebook身份驗證集成,開發人員應繼續使用Like按鈕社交插件。「? – 2012-09-13 14:32:28
如果你的應用程序是一個開放的圖形應用程序,現在你可以喜歡使用api,並且不再需要按鈕。
https://developers.facebook.com/docs/opengraph/actions/builtin/likes/
正如文檔和BK的回答中所述,這不適用於Facebook頁面,只適用於其他對象 – Igy 2012-10-31 00:19:53
更新2016年6月
它仍然無法像使用Facebook的API頁面,大約創建/更新/刪除在/{user_id}/likes
documentation page說:
你無法在此端點上執行此操作。
在以前的版本中,消息更加清晰(請參見下面的引用),但結果是一樣的:這是不可能的。
五月/{user-id}/likes
文檔頁面國家有關Facebook網頁的Publishing Likes:
不能發佈使用這個優勢,因爲是不可能喜歡一個Facebook頁面通過任何API。如果你希望人們能夠喜歡你的應用中的頁面,你應該使用Like按鈕。
這是最明顯,最清晰的聲明,能夠給我一個問題的答案。
你可以像使用Facebook的API使用下面這段代碼的對象ID的對象
[FBRequestConnection startForPostWithGraphPath:[NSString stringWithFormat:@"/%@/likes",{object_id}] graphObject:nil completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
//do you customisation post like here
}];
那麼不是真的 - 圖形API使應用的訪問令牌來阻止這類安全問題的問用戶明確授予訪問Facebook應用程序。無論如何,我通過去facebook的首選路線嵌入一個iframe到他們喜歡的按鈕來解決這個問題(打開圖api)。 – 2010-07-06 08:27:37
「Like」ing(通過iframe或fbml)不是應用程序,因此不需要額外的權限,只需要您登錄Facebook。我仍然在尋找一種方法來讓自定義的Like按鈕不在Facebook託管的iframe中。 – Luke 2010-07-13 11:23:26
盧克 - 我也是!讓我們知道如果你找到一種方法來使自定義按鈕(在我的情況下是Android API)喜歡頁面或應用程序。 – 2011-07-24 18:44:34