2011-06-12 102 views
0

我想傳遞兩個參數到$params基於函數getLoginUrl,順便說一句我使用PHP SDK 3.0.1。擴展的權限等在facebook上的應用程序

這是我寫的:

$loginUrl = $facebook->getLoginUrl(array(
              'req_perms' => 'publish_stream', 
              'next' => 'my next url', 
              )); 

不幸的是,它不工作?我敢肯定,原因是sdk的版本..登錄工作正常,但沒有擴展權限&下一個網址。任何幫助?謝謝。

+0

您需要更詳細地告訴我們發生了什麼事情,何時發生以及您正在嘗試做什麼。 – rzetterberg 2011-06-12 23:16:47

+0

我只想讓用戶連接到我的網站。當用戶點擊「通過Facebook登錄」它確實工作,但擴展權限不會出現。 (只是'訪問我的基本信息') – Luis 2011-06-12 23:21:47

+0

我解決了這個問題。'req_perms'被稱爲'scope','next'現在被稱爲'redirect_uri'。 – Luis 2011-06-12 23:51:11

回答

1

當您在評論中回答自己的問題時,我會延長答案。在21 May中,Facebook宣佈升級PHP-SDK,這是一次重大升級,會破壞你的代碼!

因此,檢查SDK工作方式的最佳方法是訪問所提供的example頁面。現在你如果這都沒有提供太多的信息,所以你應該尋找在base_facebook.php確實你會發現(線449):

/** 
* Get a Login URL for use with redirects. By default, full page redirect is 
* assumed. If you are using the generated URL with a window.open() call in 
* JavaScript, you can pass in display=popup as part of the $params. 
* 
* The parameters: 
* - redirect_uri: the url to go to after a successful login 
* - scope: comma separated list of requested extended perms 
* 
* @param array $params Provide custom parameters 
* @return string The URL for the login flow 
*/ 

現在最有趣的部分是getLogoutUrl()方法,因爲它仍然是使用next參數!