我正在对Facebook Open Graph API进行第一次尝试。我制作了自定义操作类型和对象类型。对于这个问题,我将它们命名为"myaction"和"myobject"。
function postAction(){
FB.api(
'/me/appnamespace:myaction?myobject=http://domain.com/page.php',
'post',
function(response) {
if (!response || response.error) {
alert('Error: ' + response.error.type + ' - ' + response.error.message);
} else {
//alert('Like was successful! Action ID: ' + response.id);
var likedId = response.id;
alert('Action was successful! Action ID: ' + response.id + ' (var = ' + likedId + ')');
}
}
);
}
这行得通。操作将发布到用户的时间线。
但是,如果该用户想要在不同的会话中从我的网站中删除该操作(或多个操作(?有没有办法从用户查询自定义操作并显示它们?我可以使用数据库并存储 actionId,但是当用户已经在 facebook 上删除了该操作时,这将发生冲突
用于删除操作的代码为:
function deleteAction(){
FB.api(
'xxxxxxxxxx', // Here the Action ID must be inserted
'delete',
function(response) {
alert('action deleted')
}
);
}
编辑:
这适用于从特定页面(对象(获取操作:
function getAction(){
FB.api(
'/me/appnamespace:myaction?myobject=http://domain.com/page.php',
'get',
function(response) {
if (!response || response.error) {
alert('Error: ' + response.error.type + ' - ' + response.error.message);
console.log(response);
} else {
console.log(response);
}
}
);
}
这适用于从用户那里获取所有自定义操作:
function getAllAction(){
FB.api(
'/me/appnamespace:myaction',
'get',
function(response) {
if (!response || response.error) {
alert('Error: ' + response.error.type + ' - ' + response.error.message);
console.log(response);
} else {
console.log(response);
}
}
);
}
简而言之,有没有办法在 FQL 中做到这一点:
- 从当前网址查询对象 ID?
- 查询用户的操作 ID(所有自定义操作和/或基于对象 ID 的特定操作(?
提前感谢!
此数据无法通过 FQL 获得,目前只能通过图形 API 获得。希望它能很快出现。
请参阅以下问题:
-
FQL 获取用户的打开图形视频。监视活动
-
如何获取应用程序生成的所有开放图形测试版操作?