0

私の状況は以下です。私は Facebook アプリと Facebook ページの所有者です。プログラムで (コードから) この Facebook ページに投稿したいと思います。私の知る限り、それを行うにはFacebookアプリが必要なので、作成しました。Facebook php sdk とコード イグナイターを使用しています (javascript sdk は使用していません)。

私はfacebookオブジェクトを持っています。私はそのメソッドを印刷し、facebookにログインしている間にユーザーIDをprintintしようとしました。これはうまくいきませんでした。私の質問は次のとおりです。1) Facebook ID を印刷できないのはなぜですか? 2)私のFacebookページにプログラムで投稿する最も簡単な解決策は何ですか?(私のアプリから、または私のユーザーから)

私は何を間違っていますか?これは私のコードです

$config = array(
  'appId'  => 'xxxx',
  'secret' => 'xxxx',
  'cookie' => true,
);


$this->load->library('facebook', $config);
echo '<pre>';print_r(get_class_methods($this->facebook));

 $id = $this->facebook->getAppId();
 $secret =$this->facebook->getApiSecret();
 $uri = "http://tipsterscorner.com/stats/display/facebook1";//callback_url se pare ca nu e bun

//Facebook の URL を作成します。これをブラウザで使用すると、一連のポップアップが表示されます (アプリケーションで blabla を許可しますか) //どこかで、最後のパラメータをコードに変更し、curl を使用すると、応答でトークンを取得します//リターンURLの画面に出力されますが、それは起こりません

 $facebook_url = "https://www.facebook.com/dialog/oauth?`client_id=$id&client_secret=$secret&redirect_uri=$uri&scope=publish_stream,offline_access,read_stream,manage_pages&response_type=token";`


$curl = curl_init();
// Set some options - we are passing in a useragent too here
    curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $facebook_url,
    CURLOPT_USERAGENT => 'Codular Sample cURL Request'
));
// Send the request & save response to $resp
$resp = curl_exec($curl);

これがURLです。 http://tipsterscorner.com/stats/display/facebook1

どうもありがとうございました。

4

1 に答える 1

0

user accessFacebook に投稿するには、トークンを取得する必要があります。Access TokensすなわちApp Access Tokenとの 2 種類がありUser Access Tokenます。アプリがユーザーに代わって投稿する場合User Access Tokenは必須です。User Access Tokenユーザーがアプリにアクセス許可を与えると生成されます (ブラウザで Facebook の URL を入力したときに発生したダイアログ ポップアップ)。ユーザーに代わって投稿する許可をアプリに付与するかどうかは、ユーザー次第です。両方の状況に対応できるアプリを開発する必要があります。ユーザーが許可を与えると (ユーザーBasic Permissionのすべての公開情報が含まれます)、ユーザー アクセス トークンが生成されます。database tableまたは に保存できますSESSION
ユーザー アクセス トークンが無効になる場合があり、新しいトークンを取得する必要があります。curlユーザーは既にアプリのアクセス許可を付与しているため、その間は取得に使用できます。
http://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/

于 2013-05-14T11:13:54.907 に答える