2010-08-27 19 views
0

我完全失去了尋找合適的API來創建像Foursquare這樣的註冊流程。我附上我正在嘗試做的事情的文件。我已經嘗試了來自Microsoft的OAuth,JavascriptSDK,Facebook.NET API和Microsoft的FacebookToolkit.NET。沒有什麼看起來我真的需要。我認爲有經驗的人可以傾向於我應該直行的地方。我可以使用哪種Facebook API來獲得註冊行爲的Foursquare?

https://docs.google.com/fileview?id=0B6mlBkccI34zNDNmMGMyNTYtMDY2NS00NmEwLTlkMjQtZjA5NmVmZDMzYzlj&hl=en&authkey=CNPH9LEL

注:我試圖通過ASP.NET與C#實現這一目標。

回答

0

您在尋找Facebook Connect的API。對於單一登錄過程

更多信息,可以發現here

+1

是不是您正在談論的GraphAPI? – Neutralizer 2010-08-27 13:34:08

+0

doble檢查。我以前知道這個API是Facebook Connect API。似乎事情已經發生了變化,自從我開始研究這個問題以來已經有一段時間了。很抱歉對於這個誤會。 – mcabral 2010-08-27 13:45:05

+0

好吧,更新你的知識,你可能應該對這個問題向我提出積極的投票。 – Neutralizer 2010-08-27 15:54:32

0

你也可以利用OpenID

+0

你的意思是說,註冊功能等Foursquare可以通過OpenID獲得? – Neutralizer 2010-08-27 13:43:34

+0

我從來沒有使用Foursquare,但我知道OpenID可以讓你通過另一個使用OpenID的網站驗證用戶(有幾個),並且你有能力從OpenID提供者中檢索用戶信息,如果最終用戶允許這種類型的迭代。 檢查了這個想法: https://wiki.openid.net/Gallery – 2010-08-27 14:25:27

+0

由於您使用ASP.NET和C#,您可以使用此OpenID提供程序: http://dotnetopenauth.net/ – 2010-08-27 14:35:22

0

你的文件指出了Yelp的註冊過程,這是非常低的摩擦,使用戶的信息提供給該網站無需經過Facebook的authentication程序。

Yelp,Microsoft Docs和Pandora正在使用名爲Instant Personalization的Facebook功能。到目前爲止,Instant Personalization尚未提供給開發人員,僅供這三位合作伙伴使用。

這就是說,你可能需要使用Facebook Login Button來允許用戶授予你訪問他們的信息(包括他們的朋友列表)。

至於獲取好友列表的過程中使用圖形呼叫「我/朋友」

我管理FaceSharp,一個.NET開源項目,旨在幫助人們開始使用Facebook的發展,將是添加類似於您將來要做的功能的功能,也許有些代碼可以幫助您完成工作。這是根據MIT許可證,所以拿你想要的。

+1

我的文檔記錄了Yelp以及Foursqaure。你知道我從Codeplex嘗試了2個Facebook.NET API,他們看起來目前還沒有活躍的社區。正如你提到的FaceSahrp,我應該試試看,也想貢獻一下。在我看來,我可以使用OAuth和Friends來獲取已登錄的用戶信息。我必須寫我自己的控制邀請和尋找朋友。我希望在您的API中添加該控件。 – Neutralizer 2010-08-27 15:58:56

7

Facebook的圖形API是best.The網址爲http://developers.facebook.com/docs/api

的圖形API使用OAuth 2.0進行授權。查看Facebook的OAuth 2.0實施細節的認證指南。

OAuth 2.0是一種更簡單的OAuth版本,它利用SSL進行API通信,而不是依賴複雜的URL簽名方案和令牌交換。在很高的層面上,使用OAuth 2.0需要通過重定向Facebook爲Facebook用戶獲取訪問令牌。

https://graph.facebook.com/220439?access_token=... 

退房PHP的示例代碼或Python的示例代碼:您獲得用戶的訪問令牌後,您可以通過在你的圖形API請求訪問令牌執行代表該用戶的授權請求GitHub可以查看爲當前用戶獲取訪問令牌的完整示例。獲取訪問令牌的步驟如下:

  1. 註冊您的應用程序以獲取應用程序ID和密碼。你的Facebook應用程序ID是你的client_id,你的Facebook應用程序的祕密就是你的client_secret。

  2. 用你的client_id和redirect_uri將用戶重定向到https://graph.facebook.com/oauth/authorize。 redirect_uri參數需要以您的應用的URL開頭。例如,如果您的網址是http://www.example.com,那麼您的重定向URI可能是http://www.example.com/oauth_redirect

    https://graph.facebook.com/oauth/authorize? 
    client_id=...& 
    redirect_uri=http://www.example.com/oauth_redirect 
    
  3. 用戶授權您的申請後,我們將用戶重定向回你的說法代碼驗證字符串,可以爲OAuth訪問令牌交換指定的重定向URI。通過獲取https://graph.facebook.com/oauth/access_token將其交換爲訪問令牌。通過完全相同的REDIRECT_URI在前面的步驟:

    https://graph.facebook.com/oauth/access_token? 
    client_id=...& 
    redirect_uri=http://www.example.com/oauth_redirect& 
    client_secret=...& 
    code=... 
    
  4. 使用通過上述請求返回的訪問令牌,使代表用戶的請求:

    https://graph.facebook.com/me?access_token=... 
    
+0

是的。你非常接近要糾正。事實上,我目前正在使用這個API,並且已經爲它寫了.NET包裝器。雖然這是完美的工作,但是當我查看OAuth的擴展許可時,會提到有人無法獲取用戶的電子郵件(這不可用)。我錯了嗎? – Neutralizer 2010-08-28 09:15:27

+0

以及你已經提到的步驟。你能告訴我爲什麼這對我不起作用嗎? http://fwd4.me/bOY – Neutralizer 2010-08-29 20:35:25

+0

嗨! 給定的鏈接是FBML.I給出了Graph API的鏈接。兩者都不同。你應該遵循Graph API或FBML。 – PrateekSaluja 2010-08-30 05:32:41

相關問題