Facebook Canvas应用程序:此方法仅适用于Games

时间:2015-10-01 14:18:16

标签: javascript facebook canvas facebook-javascript-sdk facebook-canvas

尝试通过Facebook Canvas App访问用户的可访问好友列表时出现以下错误:

"错误":{"消息":"(#15)此方法仅适用于游戏。"

我已在网络上搜索过并且达成此错误的共识是您的应用必须是:

  • 归类为游戏'在您应用的设置中
  • 有Canvas存在 - 这意味着在应用程序的设置中启用Canvas平台

所以我的Facebook应用程序已经设置为Canvas应用程序。我在'设置'下进行了此操作。并刚刚添加了我的Secure Canvas URL。

接下来,我必须将我的应用归类为游戏'。好的,不太清楚,但我将我的应用的类别更改为' Game'在'应用程序详细信息'我还设置了一个'子类别'为了我的游戏。

但错误仍然存​​在。我仍然得到:"错误":{"消息":"(#15)此方法仅适用于游戏。"

产生此错误的调​​用只是我从Facebook网站获得的股票标准可邀用朋友javascript:

/* make the API call */
FB.api(
  "/me/invitable_friends",
  function (response) {
    if (response && !response.error) {
      /* handle the result */
    }
  }
);

请帮忙!

1 个答案:

答案 0 :(得分:0)

这与你的tutorial

非常吻合
$( document ).ready(function() {
      FB.init({
        appId: appId ,
        frictionlessRequests: true,
        status: true,
        version: 'v2.4'
      });

      FB.AppEvents.activateApp();
      FB.Event.subscribe('auth.authResponseChange', onAuthResponseChange);
      FB.Event.subscribe('auth.statusChange', onStatusChange);
    });


    function onStatusChange(response) {
      if( response.status != 'connected' ) {
        login(loginCallback);
      } else {
        getMe(function(){
          getPermissions(function(){
            if(hasPermission('user_friends')) {
              getFriends(function(){
                getInvitablefriends();   
              });
            } else {
              console.log("without permissions")
            }
          });
        });
      }
    }

    function getInvitableFriends(callback) {
      FB.api('/me/invitable_friends', {fields: 'id,name,first_name,picture.width(120).height(120)'}, function(response){
        if( !response.error ) {
          console.log(response.data);
          callback();
        } else {
          console.error('/me/invitable_friends', response);
        }
      });
    }