5

WebアプリからFacebookの投稿を削除できません。今、私はFacebookのドキュメントと他のSOの投稿がこれを行うように言っていることを知っています:

You can delete objects in the graph by issuing HTTP DELETE requests to 
the object URLs, i.e,

DELETE https://graph.facebook.com/ID?access_token=... HTTP/1.1

しかし、私はそのような初心者なので、HTTPリクエストで削除することの簡単な説明を完全には理解していません。私が試したときは機能しなかったので、上記の例で形成されたURLにリダイレクトするだけでは、何も削除されないと思います。これは、私が今理解しなければならないWeb開発のいくつかの新しい領域があることを意味します...HTTPリクエスト。

これらはphpでどのように行われますか?phpマニュアルもあまり役に立ちません。


追加情報:

私は次の多くの異なるバリエーションを試しました:

$facebook->api($post_url, 'DELETE', array('method'=> 'delete') );

渡すURLはです'/post_id'。はpost_id作成後にキャプチャされ、データベースに保存されます。$_GET['story_fbid']このIDは、任意の投稿パーマリンクにあるIDと一致しました。おそらくこれは正しいIDではありませんか?私は次のIDを取得しています:

//post to wall
$postResult = $facebook->api($post_url, 'post', $msg_body );
//capture the id of the post
$this->fb_post_id = $postResult['id'];

上記のコードを実行しても、エラーはスローされません。実行後の診断のために触れられてechoいます。

これらは、私がapiに渡した文字列のさまざまな組み合わせです$post_url

/postid                  api returns true, nothing is deleted from Facebook
/userid_postid           api returns false, Error: (#100) Invalid parameter
/postid_userid           api returns false, Error: (#1705) : Selected wall post for deletion does not exist
/accesstoken_postid      api returns false, Error: (#803) Some of the aliases you requested do not exist 
/postid_accestoken       api returns false, Error: (#803) Some of the aliases you requested do not exist
4

5 に答える 5

4

これは機能するはずです:

$facebook->api("/YOUR_POST_ID","DELETE");

ブール値を返します。成功した場合はtrue、失敗した場合はfalseを返します。

削除するときは、次のように、オブジェクトIDの前にユーザーIDを追加してみてください。

$facebook->api("/USER-ID_YOUR-POST-ID","DELETE");

お気に入り:

$facebook->api("/12345132_5645465465454","DELETE");
//where 12345132 is fb userid and
//5645465465454 is object id --> post id
于 2012-12-24T03:24:22.070 に答える
1

read_streamおよびmanage_pages権限を持つページアクセストークンを使用して、ページから投稿を削除することに成功しました。

try {

        $args = array(
                  'access_token' => $page_token
                );

        $deleted = $facebook->api('/'.$post_id, 'DELETE', $args);

} catch (FacebookApiException $e) { 

            echo 'Delete review page wall error: ' . $e->getType() . ' ' . $e->getMessage();

}
于 2013-04-17T22:43:40.403 に答える
0

更新された回答:

「これはページです」というコメントに基づいて、GraphAPIのページの詳細を確認しました。詳細を正しく理解している場合、ページ投稿の削除はサポートされていません。詳細(イベント、投稿、質問など)の各接続には、作成セクションがあり、接続が削除をサポートしている場合は、削除の説明があります。[投稿(フィード)]セクションには、削除ではなく作成のみが記載されています。

于 2012-12-24T03:46:09.683 に答える
0

投稿を「非公開」にすることはできませんが、これは投稿を削除することと同じではありません。投稿の削除は非常に簡単です。

COMMENT_IDを取得してFacebookに投稿するだけです。

 $post_url = 'https://graph.facebook.com/'. $COMMENT_ID .'?access_token=' .  $page_access_token . '&method=delete';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);

これを明確にするために:投稿を管理する権限がある場合、これはPageAPIの外部で機能します。

于 2013-07-10T10:30:04.663 に答える
0

これを使用してphpSDK5.4を使用してページから投稿を削除することができました

$post = $fb->request('DELETE', '/'.$post_id,[], $page['accesstoken'])
于 2016-12-26T19:48:24.077 に答える