2014-06-16 243 views
1

我不知道該怎麼辦。 我有在FB上編寫應用程序的經驗。 我不明白這個問題。 我有簡單的應用程序。 (https://apps.facebook.com/gecko_terrarium/無法獲得權限publish_stream

require './libraries/facebook/facebook.php'; 
$facebook = new Facebook(array(...)); 

$user = $facebook->getUser(); 
?><html><body> 
<?php 
if($user) { 
    try { ?> <a href="#" onclick="fbLogin()"> Login</a> <?php 
    $permissions = $facebook->api("/me/permissions"); 
    print_r($permissions); 
    } catch (FacebookApiException $e) { ... } 
else { 
    echo("<script> top.location.href='https://www.facebook.com/dialog/oauth?client_id=111111111&redirect_uri=https://apps.facebook.com/gecko_terrarium&state=" . md5(uniqid(rand(), TRUE)) . "&scope=publish_stream'</script>"); 
exit; 
?> 
<div id="fb-root"></div> 
<script>window.fbAsyncInit = function() { ....} 

function fbLogin() { 
    FB.login(function(response) { 
     if (response.authResponse) { 
     console.log("user gave permission");  
     } else { 
     console.log("user did not give permission"); 
     } 
    }, {scope:'publish_stream'}); 
} 
</script> 
</body></html> 

當第一次彈出一個窗口,其中沒有關於發佈的任何問題的權限。 當我點擊登錄按鈕時,沒有窗口彈出。控制檯是「用戶授予許可」的題詞

但是在屏幕上你可以看到你沒有這樣的權限。

我不知道該如何解釋。

你能幫我嗎?

+0

爲什麼在這裏使用兩種不同的觸發登錄方式?順便說一句,如果我拒絕即使基本訪問您的應用程序,它也會一直重複導向登錄對話框 - 這是您不應該做的事情;如果用戶拒絕登錄,那麼你應該向他們解釋他們將如何從登錄中獲益並授予你所要求的權限,並且只有在他們主動要求時才通過登錄再次發送(通過點擊鏈接/按鈕)。 Facebook並不看好你現在正在做的事情 - 有時他們甚至會爲此顯示一個給_report_應用程序的表單。 – CBroe

+0

因爲我想表明有什麼不對。它只是暫時重複導向登錄對話框。這是一個簡單的例子。 –

回答

1

我想你使用的是Facebook SDK庫。他們確實有一個你想嘗試的權限的示例登錄。順便說一下,正確的授權不是publish_stream,而是publish_actions。我用於該授權的網址是https://www.facebook.com/dialog/oauth?client_id=$SOME_APP_ID&redirect_uri=$YOUR_URL&scope=publish_actions

N.B .:請記住遷移到Version 2,因爲舊圖API將在不到一年的時間內啓用。 使用新的API,您必須申請明確的許可才能發佈操作。要做到這一點,請訪問https://developers.facebook.com,在菜單中選擇您的應用程序,點擊「狀態和評論」,向下滾動頁面,提交您的行動以獲得批准(您必須向他們提供行動的基本原理以及如何使用它來增強用戶體驗,他們可以測試的工作示例等)

+1

我明白了。這是否意味着不會有權限publish_stream?只有publish_actions? –

+1

'https://www.facebook.com/dialog/oauth?client_id = 1389117254661198&redirect_uri = https:// apps.facebook.com/gecko_terrarium&scope = publish_actions' 作品:) –

+0

yup :)很高興我有幫助 – tattvamasi

相關問題