我创建了一个用于阅读文章的简单应用程序,它使用以下代码创建帖子:
FB.api('/me/[NAMESPACE]:read&article=http://example.com/article.html','post', function(response) {
if (!response) {
alert('Error Occurred I got no response with ' + $pageURL);
}
else if (response.error) {
alert('Error Occurred' + response.responseText + " " + response.error.responseText);
} else {
alert('Post was successful! Action ID: ' + response.id);
var idToDeleteLater = response.id;
}
});
我希望能够检查之前是否访问过该页面,因此我将能够禁止为同一篇文章进一步创建帖子。
但是为了做到这一点,我需要获取文章ID,并且我无法使用response.id命令来获取它,因为那个只给了我个人帖子的ID。
我不想使用给定的方法:
function postUnreadSpecific()
{
var postId = idToDeleteLater;
FB.api(postId, 'delete', function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post was deleted');
}
});
因为阅读是通过按钮完成的(与烹饪教程中的相同),所以每当我按下按钮时,会创建新的帖子,使用不同的ID,我显然不想手动输入。
所以,底线,如何获取页面ID(不是带有response.id的帖子ID),并检查一下,如果以前访问过该页面,则禁用新帖子的创建......
答案 0 :(得分:1)
Facebook Open Graph操作可以选择独一无二的。此设置位于“高级设置”链接下隐藏的“配置故事附件”下的操作创建页面上。在那里,你会发现一个叫做“唯一动作”的切换,可以设置为“仅允许一次”。这确保了每个用户只有一个“动作对象”对。
请注意,您需要在设置操作时执行此操作,因为操作在获得批准后无法进行编辑。