2012-03-19 68 views
0

我已經在Facebook開發者處註冊了我的應用並獲得了一個ID,但很難描述我的應用(Chrome擴展),它是網站應用,移動應用,Facebook應用?我想要做的是一個簡單的擴展,它允許用戶簡單地點擊它,後臺JavaScript調用Facebook API來要求用戶以這種方式登錄。通過擴展登錄到Facebook

window.fbAsyncInit = function() { 
    FB.init({ 
     appId : '123456789', 
     status : true, 
     cookie : true, 
     xfbml : true, 
     oauth : true, 
    }); 
}; 

chrome.browserAction.onClicked.addListener(function(tab) { 
    FB.login(function(response) { 
     if(response.authResponse) { 
      alert('Welcome! Fetching your information.... '); 
      FB.api('/me', function(response) { 
       console.log('Good to see you, ' + response.name + '.'); 
      }); 
     } else { 
      alert('User cancelled login or did not fully authorize.'); 
     } 
    }); 
}); 

但是,它會彈出,上面寫着發生錯誤的窗口,它是說:「我沒有被授權」,我怎麼指定我的應用程序的Facebook的開發者頁面上的URL,另一種方式,因爲擴展的網址是這樣的垃圾鉻擴展:// asdjlajsldj/或任何人都知道任何解決方法?謝謝

回答

0

我會假設Facebook的API使用OAuth 2來讓應用程序訪問用戶數據。 Google在其API部分中提供了一種使用example的方法。我也發佈了一個alternative method on GitHub。請注意,我的方法將需要一些改變來適應Facebook的界面,但想法是一樣的(我有一個GitHub分支來做到這一點與GitHub)。

本質上,您的擴展必須從Facebook獲取用戶的訪問令牌,然後使用此令牌作爲參數,您可以從API查詢私人數據。看起來很難的事實是chrome擴展被沙盒化,並且沒有返回URL,但是使用上面兩種方法中的一種應該可以。

祝你好運!

+0

正如我所料,沙箱不會輕易讓我走,是嗎?非常感謝你的信息,我會看看它。 – 2012-03-19 13:38:47

+0

@ClintHui使用我在GitHub上提供的方法其實很簡單... – jjNford 2012-03-19 14:26:27

+0

@ClintHui另外,如果你看我的項目GitHub存儲庫,我使用上面提供的OAuth2方法。 – jjNford 2012-03-19 14:33:31