2011-10-24 13 views
1

私は小さなfacebookアプリケーションをPHPで作成しようとしています& facebook PHP API。私はステータスなどを投稿する権限を与える必要がありますが、それは動作しません。ここに私のコードは次のとおりです。Facebook php app、req_perms

<?php 
require './src/facebook.php'; 
$facebook = new Facebook(array(
    'appId' => '###', 
    'secret' => '###', 
)); 

$user = $facebook->getUser(); 

if ($user) { 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
    echo "<a href='$logoutUrl'>Logout</a>"; 
} else { 
    $loginUrl = $facebook->getLoginUrl(array(
     'req_perms' => 'publish_stream,read_friendlists,email' 
)); 
    echo "<a href='$loginUrl'>Login with Facebook</a>"; 
} 

?> 

私はパーミッション(publish_stream、read_friendlists、電子メール)を得ることはありませんログインURLをクリックします。 「ログインするだけでこのアプリのアクティビティはFacebookに追加されません」と表示されます。

+0

コードで生成されたリンクを貼り付けることはできますか? '$ loginUrl'で – Luke

+0

また、なぜあなたは2つの' if($ user){'行を持っていますか? – Luke

答えて

4

最初、コードに構文エラーがあります。これらの2行を見てください。

if ($user) { 
if ($user) { 

これらのいずれかを削除してください。あなたの問題点である

req_permsを使用しないでください第二、しかしscopeは、

は、この1つは

<?php 
require './src/facebook.php'; 
$facebook = new Facebook(array( 
    'appId' => '##', 
    'secret' => '##', 
)); 

$user = $facebook->getUser(); 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
    echo "<a href='$logoutUrl'>Logout</a>"; 
} else { 
    $loginUrl = $facebook->getLoginUrl(array( 
     'scope' => 'publish_stream,read_friendlists,email'  
)); 
    echo "<a href='$loginUrl'>Login with Facebook</a>"; 
} 

demoいいえ、私はすべてのデータを収集していないよ、かなり正常に動作します

+0

ありがとう、それはうまく動作します。 –