2013-03-31 16 views
5

Logowanie działa, ale prosi tylko o podstawowe uprawnienia i nie uruchamia się alert po anulowaniu lub zakończeniu okna dialogowego.FB.login() nie pyta o podane uprawnienia

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'}); 

    }; 

Odpowiedz

9

Czy używasz fb: przycisk logowania? Jeśli tak, czy próbowałeś dodać uprawnienia zamiast w FB.login()? Tak to będzie wyglądać mniej więcej tak:

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

Ta odpowiedź powinna być oznaczona jako właściwa odpowiedź. To rozwiązało mój problem. Metoda 'FB.Login' nie wysyła parametru' scope' przy użyciu 'fb: login-button'. Wygląda na błąd biblioteki na Facebooku. –

+1

To trwało tak długo, aby znaleźć! Czy ktoś zgłosił to na Facebooku jako błąd? Używając 'XFBML',' {scope: ''} 'jest całkowicie ignorowane. –

0

ja nie wiem, czy będziesz korzystać OG czynności, jeżeli nie, należy przeczytać o publish_actions/publish_stream: http://developers.facebook.com/blog/post/2012/04/25/streamlining-publish_stream-and-publish_actions-permissions/

Dla Twojego problemu o alertach, spróbuj usunąć OAuth var.

+0

Próbowałem, nie działał. 'FB.login (function (response) {}, {scope: 'publish_actions'});' również nie działa. – Chris

+0

Działa, gdy umieściłem go bezpośrednio w zdarzeniu onlick: 'onclick =" FB.login (function (response) {}, {scope: 'publish_actions'}); "' – Chris

+0

Rozumiem, że nie jest dobrym pomysłem automatyczne wywoływanie FB.login() i na każdej stronie. Oto mały przykład, który powinien ci pomóc: http://facebook.stackoverflow.com/a/15720747/2212966 –

2

Ważne: Jeśli aplikacja Facebook jest publiczna następnie przesłać zgodę chciałeś o dokonanie przeglądu na Facebooku, jeśli nie zostało to zrobione. Sprawdź pulpit programisty. Jeśli pracujesz, nie publikuj swojej aplikacji i nie dodawaj użytkowników do testowania przez panel kontrolny Facebooka.

+0

Dziękujemy! Właśnie zaczynam. Nie rozumiem, dlaczego zapytania z dodatkowymi uprawnieniami działały przez Graph API Explorer, ale nie w mojej aplikacji. Twoja odpowiedź sprawiła, że ​​się oderwałem. Teraz ma to sens. –

Powiązane problemy