2017-06-30 6 views
0

同じアカウントが所有する別のFacebookページからスケジュールされた投稿を削除しようとしています。 は、しかし、私はこのエラーを取得する:FacebookRedirectLoginHelperリセット認証コード?

This authorization code has been used. 

そこで私は、新しいコードを生成するように無駄に、ループ内でこれを入れてみました。

foreach($events as $event){ 
     $fbhelper = new FacebookRedirectLoginHelper("/events/delete/$id"); 
     $nodeid = $event->fbid; 
     $session = $fbhelper->getSessionFromRedirect(); 
     if ($session){ 
      try { 
       $request = new FacebookRequest(
        $session, 
         'DELETE', 
         '/'.$nodeid 
       ); 
       $response = $request->execute(); 
      } catch (FacebookRequestException $ex) { 
       // 
      } catch(\Exception $ex) { 
       // 
      }   
     }$session = ''; 
     } 

しかし、私はまだエラーが発生するので、何かが欠けています。

これを達成する方法はありますか?

+0

の外に

$fbhelper = new FacebookRedirectLoginHelper("/events/delete/$id"); $session = $fbhelper->getSessionFromRedirect(); 

を移動したいと思いますおかげで_は「したがって私は、新しいコードが生成されるように、ループ内でこれを入れてみましたvain "_ - それはコードがまったく生成されないからです。このコードは、ログインフローを介してユーザーを送信した結果です。これはFacebook側で発生します。アクセストークンのコードを一度だけ交換する必要があります。 – CBroe

+0

情報をお寄せいただきありがとうございます:-)私は予定された投稿を実際に削除していない理由を知る必要があります –

+0

ページの投稿を削除するにはページアクセストークンを使用する必要があります。このため、ユーザーが管理者アクセス権を持っている複数のページでこれを動作させたい場合は、1つのリクエストごとに「一致する」ページアクセストークンを指定する必要があります。時代遅れのPHP SDK v4を使っているようですが、現在のバージョンはv5です(セッションオブジェクトはこれ以上使用されません)。ここでゼロから開発する場合は、v5に切り替えることをお勧めします。 – CBroe

答えて

2

おそらくあなたがループ

+0

ありがとうございます、これを修正しましたが、予定されている投稿は削除されていません。 –

関連する問題