簡體   English   中英

restfb:使用Java編寫Facebook應用程序(使用新的圖形API)

[英]restfb: Writing a facebook application with java (using the new graph api)

我正在嘗試使用Java tomcat和RestFB編寫一個Facebook應用程序。

restfb文檔顯示以下內容:

我認為我可能正在看錯指令,這是針對facebook連接或apps.facebook.com/app_name中除實際Facebook應用程序以外的其他任何內容。

非常感謝您提供有關此問題的任何相關信息。 我只是試圖創建一個簡單的Facebook應用程序,以打印用戶名。

通常,在獲取用戶的acces令牌后,我可以執行以下操作:

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
User user = facebookClient.fetchObject("me", User.class);
out.println("User name: " + user.getName());

我的問題是如何正確獲取用戶的訪問令牌? 在我在帖子頂部顯示的信息中,它表明我需要提出2個請求。 第一個用於代碼,另一個用於訪問令牌。 訪問令牌的請求實際上向用戶顯示了我的應用密鑰,因為每次我將他轉發到另一個頁面時,用戶都可以輕松查看get和set參數。

所以我想我在這里很迷路。

請幫忙! :)

謝謝

評論后更新

根據這些說明,我需要兩次重定向用戶頁面。 首先獲取代碼,然后獲取訪問令牌。 用戶可以看到這兩個重定向,因此,他可以輕松地從get參數中看到facebook應用程序密鑰和秘密密鑰。 我如何確保這些步驟對用戶隱藏?

如評論中所述,這些是訪問Facebook圖形API所需采取的步驟。 但是,要回答第二個問題:

“如何確保對用戶隱藏了這些步驟?”

用戶的瀏覽器僅應執行第一個請求。 Facebook的目的是要確保它是為用戶的Facebook身份提供的唯一授權。 根據您正在編寫的應用程序,您可以使用重定向URL指向您指定的默認重定向URL,或者在您的網站上指定用於檢索令牌的自定義URL。 第一種方法通常由獨立應用程序(例如移動設備)使用,它們可以控制瀏覽器如何處理重定向。 第二種方法將用於基於Web的自定義應用程序。 收到訪問令牌后,您將在代碼中執行第二項操作(使用您喜歡的http api),而不是通過瀏覽器。 將access_token URL上的重定向與身份驗證URL上指定的重定向URL進行比較。 Facebook僅將其用於驗證,並且不會在成功完成請求后執行實際的重定向。

以下是高級步驟:

  1. 將用戶的瀏覽器重定向到指定適當的redirect_uri的authentication-url
  2. 從重定向的瀏覽器請求中檢索驗證令牌
  3. 使用您首選的HTTP框架執行access_token檢索(無需用戶輸入)
  4. 解析結果並檢索訪問令牌
  5. 帶有令牌的初始restfb並根據需要使用

REST API已棄用。 您應該改用JavaScript和Graph API-此處有一篇不錯的文章: http : //ocpsoft.org/opensource/creating-a-facebook-app-setup-and-tool-installation/ (三部分系列,非常詳細:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM