1

私がしたいこと:

Facebook にログインしているかどうかに関係なく、新しいコンテンツが Web サイトに追加されるたびに Facebook ページに投稿を公開します。

現在動作するもの:

自分のウォールに投稿を公開します。

これを達成するために私がしたこと:

  1. アプリを作成しました

  2. http://www.facebook.com/login.php?api_key=[my appId] &next=http://www.facebook.com/connect/login_success.html&req_perms=read_stream に従って必要な権限をアプリに付与しました。 publish_stream,manage_pages,publish_actions
  3. 次に、コンテンツを投稿するスクリプトを作成しました。基本的には次のとおりです。

    $appId='12822*****98');
    $secret='17c*****************320f');
    
    // on récupére l'instance de classe Facebook
    $facebook=new Facebook(array(
       'appId'  => $appId,
       'secret' => $secret
    ));
    
    // acquisition du token
    $url='https://graph.facebook.com/oauth/access_token?'.
        'client_id='.$appId.
        '&client_secret='.$secret.
        '&grant_type=client_credentials'.           '&scope=read_stream,publish_stream,publish_actions,manage_pages,offline_access'.
      '&state=dfgdfgdtgdgfdfg';
    $reponse = file_get_contents($url); 
    $tabReponse=explode('=',$reponse);
    $accessToken=$tabReponse[1];
    $facebook->setAccessToken($accessToken);
    
    $params = array(
        'message' => 'the message',
        'link' => 'http://www.myAppUrl.com'),
        'name'    => 'the name',
        'description' => 'some description',
    );
    
    try {                           
    // la cible
    $targetID='1471*********81';
    
    // publication
    $publishStream = $facebook->api("/$targetID/feed/", 'POST',     $params);           
    
    } catch (FacebookApiException $e) {
        $result = $e->getResult();
        print("Attention, la publication FB a échoué, veuillez vérifier les paramètres!");
    }
    

最初のステップで配信されたアクセス トークンを印刷すると、(27 文字) のようなものが得られます。これは、この古い投稿{appId}|***************************で読んだものですが、一部の操作では有効なトークンですが、すべてではありません。 これにより、個人のウォールに公開できますが、管理しているページには公開できません。この最後のケースでは、(このアクションを実行するアプリを承認していないユーザーについて) を取得します。
#200 error

Graph API Explorer を使用してアプリのアクセス トークンを生成すると、アクセス トークンを表す長い文字列が取得されます。これをsetAccessToken呼び出しで使用すると、ページ上で完全に公開できます。#100 error(アプリ設定で「ストリーム投稿URLセキュリティ」をオフにしてもCanvas URLを参照しなければいけないリンクについて)

誰かが私が望むものを達成する方法を知っていますか?

ユーザー接続は必要ありません。ユーザーではなく、アプリを介して投稿する資格情報を要求する必要があるのはサーバーです。

4

0 に答える 0