APIを使用して通知リクエストを送信すると、期待どおりに到着します。ただし、ユーザーがリンクをたどってアプリの権限を受け入れた後も、通知は保持されます。
通知をクリアするために追加の電話をかける必要がありますか?しばらくすると自動的に期限切れになることは知っていますが、それは完全に満足のいくものではないようです。
私は何かが足りないのですか、それともこれは本当に実行不可能ですか?
これは、ユーザーがアプリの招待を受け入れたときにアプリのリクエストを削除する方法です。
ユーザーが招待を受け入れると、つまりアプリリクエスト通知をクリックしてアプリケーションキャンバスページにアクセスすると、Facebookは「request_ids」パラメーターでコンマ区切りのIDを送信します。このリクエストを取得し、次のようなグラフAPIを使用して削除できます。
ここで最後のリクエストIDを削除しています:
$ids = $_GET['request_ids'];
$id_arr = explode(",",$ids);
$count = count($id_arr);
$delete_url="https://graph.facebook.com/".$id_arr[$count-1]. "?access_token=" . $token . "&method=delete";
$result = file_get_contents($delete_url);
echo("Requests deleted (true or false) ?" . $result);
複数回招待された場合、request_idsフィールドに複数のリクエストIDが含まれる場合があることに注意してください。よくわかりませんが、すべて削除する必要があるかもしれません。