2012-03-19 7 views
0

私はすでにFacebookの開発者に自分のアプリを登録してIDを取得しましたが、私のアプリ(クロムエクステンション)、ウェブサイトアプリ、モバイルアプリ、私がやってみたいのは、ユーザーが単純にクリックできるようにすることです。バックグラウンド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.'); 
     } 
    }); 
}); 

しかし、それはエラーが発生したと言うウィンドウをポップアップ、それは拡張のURLので、どのように私は、Facebookの開発者のページに私のアプリのURLを指定してください、「私が許可されていないのです」と言って別の方法でありますこのようなごみですクロム拡張:// asdjlajsldj/誰か回避策を知っていますか?ありがとうございました

答えて

0

私は、FacebookのAPIがアプリケーションにユーザーデータにアクセスできるようにするためにOAuth 2を使用するとします。 GoogleではAPIセクションのexampleでこれを行う方法を提供しています。私はまたalternative method on GitHubを掲示した。私の方法では、Facebookのインターフェースに合うようにいくつかの変更が必要ですが、アイデアは同じです(私はGitHubでこれを行うGitHubブランチを持っています)。

拡張機能は、Facebookからのユーザーのアクセストークンを取得し、このトークンをパラメータとして使用して、APIからプライベートデータをクエリできます。難しいように見えるのは、chrome拡張機能がサンドボックス化されていて戻りURLがないということですが、上記の2つの方法のいずれかを使用するとうまくいくはずです。

Good Luck!

+0

私が期待したように、サンドボックスは私を簡単に行かせませんでしょうか?情報をありがとう、私はそれを見てみましょう。 –

+0

@ClintHui私はGitHubで提供しているメソッドを使用しています。実際にはとてもシンプルです。 – jjNford

+0

@ClintHuiまた、私のプロジェクトGitHubリポジトリを見ると、上記のOAuth2メソッドを使用しています。 – jjNford