2013-03-31 9 views
5

ログインは機能していますが、基本的な権限のみを要求し、ダイアログをキャンセルまたは終了すると警告は表示されません。あなたがいない場合、あなたはpublish_actions/publish_streamについてはこちらをお読みください、OGアクションを使用する場合、私は知らないFB.login()は指定された権限を要求しません

window.fbAsyncInit = function() { 

    // init the FB JS SDK 
    FB.init({ 
     appId  : 'XXX', // App ID from the App Dashboard 
     channelUrl : 'XXX', // Channel File for x-domain communication 
     cookie  : true, // set sessions cookies to allow your server to access the session? 
     xfbml  : true, // parse XFBML tags on this page? 
     frictionlessRequests: true, 
     oauth: true 
    }); 

    FB.login(function(response) { 
     if (response.authResponse) { 
     alert("ok"); 
     } else { 
     alert("canceled"); 
     } 
    }, {scope:'publish_actions,publish_stream'}); 

    }; 

答えて

9

fb:login-buttonを使用していますか?もしそうなら、FB.login()の代わりにそこにアクセス権を追加しようとしましたか?重要

<fb:login-button scope="publish_actions,publish_stream"></fb:login-button> 
+2

この回答は正しい回答としてマークする必要があります。これは私の問題を解決しました。 'FB.Login'メソッドは' fb:login-button'を使うときに 'scope'パラメータを送信しません。それはFacebookの図書館のバグのようです。 –

+1

これは見つけるのにはとても時間がかかりました!誰かがこれをまだバグとしてFacebookに報告していますか? 'XFBML'を使うとき、' {scope: ''} 'は完全に無視されます。 –

0

http://developers.facebook.com/blog/post/2012/04/25/streamlining-publish_stream-and-publish_actions-permissions/

の警告に関する問題については、のOAuth VARを削除しよう。

+0

試してみましたが、うまくいきませんでした。 – Chris

+0

これはonlickイベントに直接置くと動作します: 'onclick =" FB.login(function(response){}、{scope: 'publish_actions'}); (応答){}、{scope: 'publish_actions'}); " – Chris

+0

とにかく、FB.login()を自動的に起動するのは良い考えではありません。ここであなたに役立つ少しの例があります:http://facebook.stackoverflow.com/a/15720747/2212966 –

2

:だから、次のようになります自分のFacebookのアプリケーションが公開されている場合、あなたはこれを行っていない場合は、Facebookのにレビューのために望んでいた許可書を提出します。開発者のダッシュボードを確認してください。開発中の場合は、アプリを一般公開してFacebookのダッシュボードでテスト用のユーザーを追加しないでください。

+0

ありがとう!私はちょうど出発しています。私は追加のアクセス許可を持つクエリがグラフAPIエクスプローラを介して働いたが、私のアプリではない理由を理解できませんでした。あなたの答えは、私に邪魔されてしまった。今、完璧な意味合いがあります。 –

関連する問題