2012-08-09 120 views
1

我創建了我的第一個Facebook應用程序,我需要擁有publish_stream權限。我可以通過循環獲取每個獲得的權限並查看它是否存在,但是如果用戶拒絕它,我可以輕鬆地檢查它,我可以使用PHP做什麼?Facebook請求丟失的權限

該應用程序作爲「畫布應用程序」或任何其稱爲嵌入Facebook內。我知道如何通過給新的權限提供登錄網址來請求外部網站的更多權限,但我不知道如何才能在應用內部執行此操作?

我GOOGLE和GOOGLE上搜索,但所有我能找到的是如何獲得登錄URL的權限。我甚至嘗試過,但什麼也沒發生,因爲我已經登錄

繼承人的代碼,我試過。

 $loginUrl = $facebook->getLoginUrl(array(
      'req_perms' => 'publish_stream,user_likes', 
      'next' => $_SERVER['PHP_SELF'], 
      'cancel_url' => $_SERVER['PHP_SELF'], 
     )); 

     echo "<a href='" . $loginUrl . "'>login</a>"; 

回答

0

我知道我可以要求在外部網站更多的權限給予登錄網址與新的權限,但我不知道我怎麼可能做到這裏面的應用程序?

基本上是一樣的 - 通過調用具有適當範圍參數的Auth對話框。

您在示例代碼中做錯了什麼,只是您在應用程序的iframe中鏈接到對話框的URL--但Auth對話框不允許在iframe中顯示。將target="_top"添加到鏈接,然後Auth對話框將實際顯示。 (你也必須設置redirect_uri參數Facebook上的應用程序的地址,像https://apps.facebook.com/YOUR_APP_NAMESPACE。)

當然你也可以使用FB.login出來,而不是JS SDK - 這將顯示身份驗證對話框作爲彈出。

+0

非常感謝! :) 有效! – Ruuhkis 2012-08-10 18:29:17