Question

i have managed to login into my app using facebook. but when i attempt to write on my wall using the code below. i get error code 191.

The app is made with phonegap build.

    ![function facebookWallPost() {
        console.log('Debug 1');
        var params = {
            method: 'feed',
            name: 'Facebook Dialogs',
            link: 'https://developers.facebook.com/docs/reference/dialogs/',
            picture: 'http://fbrell.com/f8.jpg',
            caption: 'Reference Documentation',
            description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
          };
        //alert.log(params);
        FB.ui(params, function(obj) { alert.log(obj);});
    }][1]

facebook error

if (typeof CDV === 'undefined') {
    alert('CDV variable does not exist. Check that you have included cdv-plugin-fb-connect.js correctly');
}
if (typeof FB === 'undefined') {
    alert('FB variable does not exist. Check that you have included the Facebook JS SDK file.');
}
            FB.Event.subscribe('auth.login', function(response) {
                               alert('auth.login event');
                               });

            FB.Event.subscribe('auth.logout', function(response) {
                               alert('auth.logout event');
                               });

            FB.Event.subscribe('auth.sessionChange', function(response) {
                               alert('auth.sessionChange event');
                               });

            FB.Event.subscribe('auth.statusChange', function(response) {
                               alert('auth.statusChange event');
                               });
    try {
        FB.init({
            appId: "134641180044214",
            nativeInterface: CDV.FB,
            useCachedDialogs: false
        });
    } catch (e) {
        alert(e);
    }

facebook app settings

var loginButton = $('#fb_login');

loginButton.on('click', function(e) {
    e.preventDefault();

    FB.login(function(response) {
        if (response.status === 'connected') {
            alert('logged in');
            FB.api('/me', user_info_callback);
        } else {
            alert('not logged in');
        }
    },{ scope: 'basic_info'});

});
Was it helpful?

Solution

Your FB.init() seems to be missing some parameters:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{your-app-id}',
      xfbml      : true,
      version    : 'v2.0'
    });
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

Try adding the version parameter.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top