[英]Can't delete the links anymore from FB
我目前正在開發一個應用程序,當您要刪除應用程序中的某些已發布內容后,將從應用程序中刪除您在Facebook上發布的鏈接。
昨天一切正常。
今天,當我嘗試刪除在Facebook上共享的任何鏈接時,出現以下錯誤:
{
"error": {
"message": "An unknown error has occurred.",
"type": "OAuthException",
"code": 1
}
}
用戶授予了read_stream
和publish_actions
的權限。
我還在Facebook提供的Graph Explorer Tool中嘗試了相同的操作,並且發生了同樣的錯誤,而昨天一切都很好。
我不知道發生了什么。 如果有人能照亮我,我將永遠感激不已。
用代碼更新:
/**
* @param {!function(string):boolean} filter
* @param {Function} callback
*/
findRemoveFBposts = function(filter, callback) {
var IDS = [];
var removeLinks = function(index) {
FB.api(IDS[index], "DELETE", function(response) {
++index < IDS.length ? removeLinks(index) : (callback && callback(IDS));
});
};
var fetchFB = function(query) {
FB.api(query, function(response) {
if (!response['error']) {
for (var i = 0, n = response['data'].length; i < n; i += 1) {
filter(response['data'][i]['link']) && IDS.push(response['data'][i]['id']);
}
response['paging'] && response['paging']['next'] ? fetchFB(response['paging']['next']) : (IDS.length ? removeLinks(0) : (callback && callback(IDS)));
} else {
IDS.length ? removeLinks(0) : (callback && callback(IDS));
}
});
};
fetchFB("/v2.0/me/links?fields=link");
};
findRemoveFBposts(function(link) {
return link=='http://mywebsite.com/somepost';
}, function() {
console.log('Everything is done')
});
編輯:
這是一個利用Facebook安全問題的功能。 正確的方法是Patrick的回答。
看來這可能是由於您的應用未發布您要刪除的項目而引起的。 您需要檢查發布帖子的真正原因是您的應用
該帖子應包含一個應用程序對象(如果發布了一個應用程序,否則將根本不存在)以及該應用程序信息,以檢查有關該帖子返回的數據
{
//...
"application": {
"name": "Graph API Explorer",
"id": "145634995501895"
},
//...
}
所以你可以做
//Either the post was not created by an app
//or was not created by your app
if(response['data'][i].application === undefined || response['data'][i].application.id != "your app id") {
return;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.