2012-03-22 15 views
0

私はFacebookのログインリンクを生成するには、次のコードを使用しています:Facebookアプリに強制的に許可を求める方法

<?php 
try { 
include_once 'facebook_sdk_libs/facebook.php'; 
} catch(Exception $o){ 
echo '<pre>'; 
print_r($o); 
echo '</pre>'; 
} 
// Create our Application instance. 
$facebook = new Facebook(array(
    'appId' => APPID, 
    'secret' => APPSECRET, 
    'cookie' => true, 
)); 

$session = $facebook->getSession(); 

function d($d){ 
echo '<pre>'; 
print_r($d); 
echo '</pre>'; 
} 

$fbme = null; 
// Session based graph API call. 
if ($session) { 
try { 
    $uid = $facebook->getUser(); 
    $fbme = $facebook->api('/me'); 
} catch (FacebookApiException $e) { 
    // d($e); 
} 
} 

if($fbme){ 
$logoutUrl = $facebook->getLogoutUrl(); 
} else { 
$loginUrl = $facebook->getLoginUrl(
    array('scope' => 'publish_stream') 
); 
} 

それは、Facebookが「アプリケーションに行く」AND「キャンセル」を示す画面が表示されます。 「App to Go」をクリックすると、私のページに戻りますが、Facebookの壁に私が望むように投稿しません。

Facebookが「壁に掲示する」の許可を得るために、このコードを変更する必要がありますか?

答えて

0

あなたが行っている操作は、ユーザーにあなたのアプリを認証させるだけで、Facebookはあなたに戻ります。これにより、Facebookはユーザーの壁に投稿されません。あなたがいることを行いたい場合は、2つのオプションがあります。

  • はFacebookの認証から復帰すると、あなたは「ポスト壁に」のページ上のボタンとをユーザに要求する使用JS SDKのFB.ui 'feed' dialogを持つことができます壁に投稿。もちろん、これはユーザーが壁に投稿することを必ずしも意味するものではありません。
  • 返されると、返されたaccess_tokenを使用してグラフAPIにサーバー側の呼び出しを行い、ユーザーの壁面にlinkpostまたはstatusを投稿します。 Graph API referenceを読んでください。ご参加
1

おかげで、私は、access_tokenはについてのあなたの手がかりを書き留めており、このコードは、それが最初の次のステップで、その後私のアプリを認証し、私はこの1つだけ

$loginUrl = $facebook->getLoginUrl(array(
    'canvas' => 1, 
    'fbconnect' => 0, 
    'req_perms' => 'email,publish_stream,status_update,user_birthday,user_location,user_work_history')); 

とにgetloginコードを置き換える作業ましたポストウォールの許可を求める。これは1ステップでこれを行います

多くのお礼

関連する問題