2013-02-28 108 views
0

我試圖通過Graph API實現Facebook的Adobe PhoneGap連接,但顯然我得到一個「應用程序」令牌,而不是「用戶」令牌。這導致我的應用程序不允許連接到它的任何其他用戶,這當然不是。Facebook圖形API獲取USER令牌,而不是APP令牌

我已經注意到這一點,不管我用什麼用戶登錄,返回的access_token總是相同的。

我使用以下網址進行驗證:

var authorize_url = "https://graph.facebook.com/oauth/authorize?"; 
    authorize_url += "client_id=" + fb_clientid; 
    authorize_url += "&redirect_uri=" + fb_redirect_uri; 
    authorize_url += "&display=" + fb_display; 
    authorize_url += "&scope=publish_stream" 

並獲取授權令牌:

https://graph.facebook.com/oauth/access_token?client_id='+fb_clientid+'&client_secret='+fb_secret+'&code='+fbCode+'&redirect_uri=http://www.facebook.com/connect/login_success.html' 

我相信問題出在第二個URL(傳遞祕密指示它是一個應用程序令牌),但是如何獲得用戶令牌?

感謝

回答

0

使用Facebook Connect plugin,而不用手動各具特色的登錄過程。它提供了更好的可用性,因爲它與Facebook本機應用程序或iOS 6 Facebook功能集成在一起。

+0

問題是,當用戶沒有安裝原生Facebook應用程序時,登錄重定向到瀏覽器。我嘗試過使用這種方法(http://moduscreate.com/opening-all-urls-with-phonegaps-childbrowser-plugin/)將它重定向到Childbrowser插件,但我無法使其運行。有任何想法嗎? – 2013-02-28 18:06:01

+0

插件也處理用戶沒有在設備上安裝Facebook應用程序的情況。如果您按照說明操作,您的應用程序將註冊一個自定義URL(例如fb {yourAppId}://),並且在瀏覽器中登錄完成後,您將被重定向迴應用程序。 – 2013-02-28 18:19:40

+0

是的,我知道我擁有所有的工作,但我不想離開應用程序。我不希望瀏覽器打開,我希望Childbrowser插件能夠處理該部分,因此它們保持「在應用程序中」,但是因爲FB插件以編程方式調用URL,所以在提供的鏈接上的代碼不起作用。如果我可以在沒有安裝應用程序的情況下在Childbrowser插件中打開它,則完成 – 2013-02-28 18:31:57