2011-07-08 7 views
7

今すぐ固定!しかし、私はまだ私自身の質問に答えることはできません。以下の私のコメントを参照してください。そして助けてくれてありがとう。Facebook Javascript SDKを使用してグラフデータを取得


私はドキュメントを検索して検索して読みましたが、これを把握することはできません。

私はイベントに関するウェブページを持っています。私のイベントにはFacebookの "イベント"が公開されています。 FB Javascript SDKを使用して、Facebookイベントの出席者数を取得し、ウェブサイトから登録した人数に追加しようとしています。

私はアプリを作成しましたが、私はappIDと秘密の文字列を持っています。私はからアクセストークンを取得することができます。

https://graph.facebook.com/oauth/access_token?client_id=XXXX&client_secret=XXXXX&grant_type=client_credentials

と私は、公共のイベントに参加者を得るために、そのアクセストークンを使用することができます。すべての罰金をだ

https://graph.facebook.com/331218348435/attending?access_token=XXXXXXXXX

を。

私は現在、Javascript SDKを使用して同じことをしようとしています。

私はSDKをロードし、initをやった:

FB.init({ 
    appId : 'XXXXXXXX', 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    xfbml : true // parse XFBML 
}); 

と私はアクセストークンを必要としないデータを持つオブジェクトを取得することができますので、私はSDKが機能している知っている:

FB.api('/331218348435', function (response) { console.log (response) }); 

が、私はアクセストークンを必要とする参加者データを取得しようとすると:

FB.api('/331218348435/attending', function (response) { console.log (response) }); 

を私はOAuthExceptionを取得: "このリソースを要求するにはアクセストークンが必要です。"

私が見つけることができるすべてのチュートリアルと情報は、.loginメソッドの使用を指していますが、ユーザーにログインさせたくない場合は、ユーザーの操作なしで自分のアプリケーションIDを使用してログインします。

私は、.initメソッドを呼び出したときにAPIがSDKのinitリクエストを受け取り、私のウェブサイトのアドレスに対して認証が行われていると仮定しました(HTTPリファラ - はい私のウェブサイトのURLを設定しましたFacebookのアプリ設定で)。

これが機能しない原因は何ですか? .loginを実行せずにJavascript SDKを使用してアクセストークンを取得するにはどうすればよいですか?私は一歩足りませんか?これも可能ですか?

のおかげではなく、円形のドキュメンテーションが出席フィードが「ジェネリックaccess_token`を必要とする取得し、言うこと

+0

この件についてはわかりません。イベントに参加しているユーザーにアクセスできないことが原因です。 –

+0

OK、これは今修正されていますが、私はStackOverflow初心者ですから自分の質問に答えることはできません。 Facebookは「分」が実際に1時間以上かかると設定が変わったようだが、今はすべてOKだ。助けてくれてありがとう! – magicroundabout

答えて

1
に出席するために電話をかけるためにそのaccess_tokenはを使用することができます

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials 

にGETリクエストを送信することにより、アプリケーションのアクセストークンを取得することができます

ああ。 OK。

何らかの理由で私は離れて夕食を食べました。私が戻ってきたら、うまくいきます。

私のFacebookの設定を更新したとき、Facebookが変更を取り戻すには数分かかることがありました。 1時間以上かかるようになった!

私のコードは問題ありませんでした。

ありがとうございました。

3

フォーム。 Facebookの用語では:

任意の有効な access_tokenは任意の有効なアクセストークンは、私たちのAPIで返されます。たとえば、アクセストークンが期限切れになっていると、アクセストークンが有効でない可能性があります。特別な権限は必要ありません。場合によっては、これは一般的なaccess_tokenと呼ばれます。

これは、イベントが公開されている限り、参加フィードにアクセスしたいトークンを使用できることを意味します。取得する最も簡単なアクセストークンは、アプリトークン:http://developers.facebook.com/docs/authentication/#apploginのようです。このトークンはApp IDとSecretのみを使用して取得でき、ユーザーの操作は不要です。リンクコンテンツをsummeriseする

:あなたは、あなたがリスト

FB.api('MyEvent/attending?access_token=ACCESS_TOKEN'); 
+0

これはお役に立ちましたが、これはすでに参考になっています。私は本当に誰かがそれを読むことができるJavascriptで私のclient_secretを入れたいとは思わない。私が言ったように、私は認証がSDKによって処理されたと仮定しました。つまり、私はinit()を呼び出すと、自分のアプリIDとHTTPリファラーを取り、作成したアプリの設定とリファラーを比較し、SDKが管理するアクセストークンを生成します。 – magicroundabout

+2

JavaScriptであなたの秘密を公開することに懸念がある場合は、PHPでサーバー上で同じグラフ呼び出しを行い、access_tokenをJavaScriptに渡すことができます。 – shanethehat

関連する問題