[英]Checking action status of a Facebook Open Graph Object
給定以下調用以在對象上發布操作,那么用於確定用戶是否已針對該對象執行操作的代碼是什么? 將“ post”切換為“ get”會拉動所有用戶的操作(不僅限於當前obj),並且用對象的URL替換第一個參數會引發錯誤。
澄清:我想知道用戶是昨天還是之前某個時間執行了該操作。 當前通話是否成功。
FB.api('/me/namespace:action', 'post', likeOpts, function(response) { if (!response || response.error) { console.log(response.error); } else { // success } });
沒有實現此目的的電話。
您應該將先前的操作保存到數據庫中(或保存用戶已執行操作的布爾值),或者檢查/ me / namespace:action的get響應中的上一個先前的操作。 在該響應中,您可以過濾當前對象的URL。
如果這是讀取操作,則在使用戶兩次調用該操作時會出現錯誤。
如果操作返回操作實例ID,則調用成功並保存。
FB.api(
'/me/namespace:action',
'post',
{ OBJECT_TYPE: 'OBJECT_URL' },
function(response) {
if (!response || response.error) {
alert('Error occured');
console.log(response.error);
} else {
alert('Code was successful! Action ID: ' + response.id);
}
});
它應顯示在其供稿中-您可以檢查用戶的供稿是否已為您提供了使用該應用的訪問令牌。 我做了一個帶有開放圖的測試來測試它,但是由於是我,所以我可以檢查自己的提要。 與另一個用戶一起,您必須在訪問令牌過期之前捕獲訪問令牌,然后將其填充到FB圖形資源管理器工具中。
我預期的問題的范圍已更改,因此此答案並非100%直接,但這是我最終使用的答案,我認為它可以使未來的觀眾受益。
我通過js sdk使用以下FQL查詢,以了解特定用戶是否喜歡特定對象。 如果有,它將返回一個帶有其ID的數組。 如果沒有,它將返回一個空數組:
FB.api({
method: 'fql.query',
query: 'select user_id from like where user_id=' + UserIDVar + ' and object_id=' + ActionIDVar,
return_ssl_resources: 1
}, function(response){
console.log(response);
});
可以修改FQL查詢以適合您的需求,並且可以在這里參考文檔: https : //developers.facebook.com/docs/reference/fql/like/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.