1

Facebookの許可を求めるにはどうすればよいですか。

Chrome はポップアップをブロックし、FB.login を使用すると多くの警告をスローします

function askPermission() {
    FB.login( function(response) {
        if(response.authResponse) {
            // Do what I want to do
        }
    }, {scope:'publish_stream'});
}

代わりに、壁にメッセージを投稿するための許可ダイアログを設定する方法からこれを試しました:

function askPermission(appid, redirect_uri, response_type, scope, callback) {
     // Redirect the user back after authorization
     var path = 'https://www.facebook.com/dialog/oauth?';
     var queryParams = ['client_id='+appid, 'redirect_uri='+encodeURI(redirect_uri), 'response_type='+response_type, 'scope='+scope];
     var query = queryParams.join('&');
     var url = path + query;
     top.location.href = url;
}

しかし、うまくいきませんでした。次のようなエラーメッセージを受け取りました

「YourApp でエラーが発生しました。後でもう一度お試しください。」

EDIT:私が試したときでも、Chromeはまだ多くの「安全でないJavaScriptがURLでフレームにアクセスしようとしています」をスローしました:

<input type="button" value="Convidar amigos" class="verde" onclick="FB.login(function(response){ if(response.authResponse){post();} }, {scope:'email,publish_stream'});"/>
4

1 に答える 1

0

You should only call FB.login on user interaction (click, submit, etc) or it will be blocked in most browsers. The errors you see are because JS-SDK can't interact with blocked window.

于 2011-12-28T13:24:58.943 に答える