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でこれを行う方法はありますか:
- 現在の URL からオブジェクト ID を照会しますか?
- ユーザーからアクション ID を照会します (すべてのカスタム アクションおよび/またはオブジェクト ID に基づく特定のアクション)。
前もって感謝します!