5

facebookでログインしていなくても、ユーザーのタイムラインにストーリーを公開したい。実際に私はデータベースにユーザーのアクセストークンを格納しています。ユーザーが電子メールでログインした場合、彼女のアクセストークンを取得します。私は問題がfb.initによって引き起こされていると思いますそれはPHPでうまく動作(例えばsetAccessToken(token_from_database)の後、友人のリストを取得するが、私は話を投稿するとき、それは常に現在のFBログインアカウントのタイムラインに投稿FB.init内にユーザー(アクセストークン)を設定

:。

window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : 'XXX', // App ID 
      status  : true, // check login status 
      cookie  : true // enable cookies to allow the server to access the session 
      xfbml  : true // parse XFBML 
     }); 
    }; 

以降:「私」として

FB.api('/me/... 

テイクログインアカウントに、ではない私はsetAcccessTokenを通じてPHPで設定1 どのように私は、そのアカウントに投稿できる(token_from_databaseで指定)のタイムライン?どんな考えですか?

答えて

0

私はPHP SDKをreagrdingより多くの知識を持っていますが、PHPであなただけのユーザーIDと「私」を置き換えることができ、私はそれは同様にあなたのために働くだろうとします

FB.api('/'+fbuserid+'/...'); 

しかし、あなたがする必要がありますパスワードを変更してFacebookからログインしたりログアウトしたりすると、ユーザーのアクセストークンが変更されることを認識しています。

+0

'/ userid'を'/userid'に置き換えると、そのAPI呼び出しの「受信者」だけが変更されますが、使用されるアクセストークンは変更されません。 – CBroe

+0

しかし、彼は何をしたいのですか?彼はユーザーIDで与えられた特定のタイムラインに投稿したいが、彼が持っているアクセストークンを持つユーザーが投稿した - 私がその質問を理解した方法です。 Marioは次のように書いています。「どのように私はその口座に転記することができますか?(token_from_databaseで指定してください)のタイムラインですか?私は彼が受信機を変更したいだけであることを理解しています...しかし、1つの投稿はありません。まあ私はマリオがこれを解決すると思います。 – SamiSalami

19

に指定したparamsオブジェクトの一部として使用するアクセストークンを渡すと、APIサーバー側にアクセスするときと同じように動作するはずです。

FB.api(
    '/me/feed', 
    'post', 
    { 
    access_token : 'access_token_for_some_user_fetched_from_your_database', 
    additional_parameter_foo : 'bar' 
    } 
); 
+3

ここでこのために来ているすべての人のために、パラメータでaccess_tokenを渡してください!おかげでマリオとCBroe! –

関連する問題