2011-05-25 225 views
2

我正在創建一個Facebook應用程序,它可以作爲自定義選項卡添加到Facebook粉絲頁面。在應用程序設置中,我可以看到「Deauthorize Callback」,當用戶從應用程序頁面中移除應用程序到指定的URL時,它會發送帶有頁面詳細信息的已簽名請求。是否有一個選項可以指定一個授權回調URL,當用戶首次將該應用程序安裝到該頁面時,該授權回調URL會收到一個包含頁面詳細信息的請求Facebook應用程序授權回調URL

請幫忙。

在此先感謝。

回答

2

曾幾何時,有一個授權回調。所以,你的問題是完全合理的。

Facebook已將其從應用設置表單中刪除。所以可能它已經消失了,但我在這個問題上還沒有看到任何「官方」的字眼。 (也就是說零功能正在消失)。

您仍然會在wildly out-of-date application properties page上找到屬性authorize_url。但是,有人猜測他們是否會繼續調用這個回調函數,如果你在它從表單中刪除之前碰巧設置了它。

2

不,Facebook不提供後授權等效的取消授權回調。

但是,您不需要:一旦用戶授權您的應用程序,您將在signed request中找到用戶的憑證和訪問令牌。

+0

謝謝。我試圖讓用戶從我的網站添加一個標籤。用戶使用Facebook連接API進行授權。用戶粉絲頁面的列表顯示在我的網站中。用戶可以選擇一個頁面併發布到Facebook。我在那個時候存儲了頁面詳細信息,但是用戶可以選擇在去facebook.com之後不安裝。希望追蹤這種情況。 – 2011-05-25 07:59:14

4

一旦用戶授權/或不授權您的應用程序,他將被重定向到您在身份驗證URL中指定的「redirect_uri」。

如果用戶按下了「不允許」,那麼您的應用程序未被授權。基於OAuth的認證對話框將重定向(通過HTTP 302),用戶的瀏覽器到你的REDIRECT_URI參數傳遞,出現以下錯誤信息的網址:

http://YOUR_URL?error_reason=user_denied& error=access_denied&error_description=The+user+denied+your+request.

如果用戶按下允許,您的應用程序被授權。基於OAuth的認證對話框將重定向(通過HTTP 302),用戶的瀏覽器到你的REDIRECT_URI參數傳遞與授權碼的網址:

http://YOUR_URL?code=A_CODE_GENERATED_BY_SERVER

你總是可以爲您在回調動作ERROR_REASON和錯誤參數確定用戶沒有授權應用程序。

完整的文檔在這裏:
http://developers.facebook.com/docs/authentication/

+0

謝謝。我試圖使用http://www.facebook.com/add.php?api_key= &pages = 1&page = 將應用程序添加到Facebook粉絲頁面。用戶從我的網站上選擇應用程序和Facebook粉絲頁面。使用這個URL,用戶被引導到Facebook網站,他必須將應用程序發佈到頁面。但用戶可以選擇不。無法找到任何可用於識別用戶未將應用程序發佈到Facebook的回調。 – 2011-05-31 05:34:06

+0

鏈接將我帶到我的主頁。正如我已經告訴你的,在這兩種情況下都會調用回調函數,用戶是否授權應用程序。您需要輸入正確的代碼來檢查回調函數中的錯誤條件,即檢查url中的錯誤參數。看看上面的url格式,花一些時間閱讀文檔。我希望「發佈應用程序到頁面」意味着授權facebook應用程序發佈。 – 2011-06-01 00:57:17

1

你可以在Facebook的應用程序設置中找到它。

進入設置菜單,然後進入高級選項卡,然後找到「OAuth設置」。您將有一個名爲「有效的OAuth重定向URI」的輸入,您可以在此處輸入多個URL。

我用它爲科爾多瓦Facebook驗證,它的工作原理。

0

現在位於Facebook開發人員工具「產品> Facebook登錄>設置」下。您會看到「有效的OAuth重定向URI」部分......希望能幫助某人。