1

ユーザーにログインせずにFacebookページにステータスの更新を投稿するスクリプトを作成しようとしています。ユーザーがアプリケーションを1回許可したときに、アプリケーションとページのaccess_tokenを取得しました。しかし、私はいつもエラーが発生します

Fatal error:  Uncaught OAuthException: (#200) The user hasn't authorized the application to perform this action

manage_pagespublish_streamの権限を付与したにもかかわらず。また、ページにaccess_tokenを使用すると、エラーが発生します

Fatal error:  Uncaught OAuthException: Error validating access token: The session is invalid because the user logged out.

これが私が使用するコードです。

$facebook = new Facebook(array(
        'appId'  => 'XXX',
        'secret' => 'XXXXXXXXXXX'
));

$post = array(
    'message'   => 'Message to user'/*,
     access_token = "XXXXXXXX"*/
);
$feed = '/[PAGE_ID]/feed';

$post_id = $facebook->api($feed, "post", $post);

ありがとう。

編集 :

このユーザーが切断されている間に、最終的にユーザーのページにステータスの更新を投稿することができました。サーバー側のauthメソッドを使用してaccess_tokenを生成する必要がありました。

4

1 に答える 1

1

以下は、ページへのFB投稿を行う方法に関する小さなコードサンプルです。

あなたが必要:

  • Your_authToken_for_User

  • リストアイテム

saved_fb_Page_Token

 $facebook = $facebook = new Facebook(array(
                'appId' => $fbAppId,
                'secret' => $fbAppSecret,
                'cookie' => true,
            ));
    $facebook->setAccessToken("Your_authToken_for_User");

   //Now your FB instance is authenticated.

    $pages= $facebook->api('/me/accounts'); //use the current authenticated FB instance to grab Pages. If you already know your page ID , skip this.

   //Assuming you have a pageid in $page_id,(the $page_id can be grabbed from the $pages array).

    $attachment = array(
                'access_token' => $saved_fb_Page_Token,
                'message' => "foo",
                'name' => "Bar",
                'link' => "http://foo.bar",
                'description' => "barfoo",
                'picture' => "an image url here",
            );

     $facebook->api('/' . $page_id . '/feed', 'POST', $attachment);//post to fb page
于 2012-10-03T13:55:44.737 に答える