【问题标题】:Cannot list Ad Accounts in facebook app无法在 Facebook 应用中列出广告帐户
【发布时间】:2014-08-20 04:59:40
【问题描述】:

我正在开发一个纯 html/js 网络应用程序(实际上我正在使用 AngularJS;我的意思是“纯”:我没有使用任何服务器端技术),它使用如下 Facebook-Connect 按钮:

<fb:login-button max_rows="1" size="xlarge" scope="email,public_profile,ads_management" show_faces="false" auto_logout_link="false"></fb:login-button>

此类按钮请求权限:ads_management 和基本用户数据。我正在测试广告管理功能。

但是,我在控制器内向 facebook 提出了两个查询:

$scope.fetchData = function() {
    FB.api('/me', function(response){
        $scope.$apply(function(){
            console.log("InApp::fetchData()");
            console.log(response);
            console.log("~InApp::fetchData()")
        });
    });
};
$scope.fetchAccounts = function() {
    FB.api('/me/adaccounts', function(response){
        $scope.$apply(function(){
            console.log("InApp::fetchAccounts()");
            console.log(response);
            console.log("~InApp::fetchAccounts()");
        });
    });
};
$scope.fetchAccountData = function(account_id) {

};

$scope.fetchData();
$scope.fetchAccounts();

出于狭隘的目的,我只是打印了控制器的内容。假设存在这样的控制器,要求此人登录 Facebook,并且用户当前已登录。

我的问题是

  1. 当我登录时,登录按钮不更新页面。这是因为没有放置onlogin=问题:如何以 Angular 的方式分配此类属性? (即来自范围的处理程序)。
  2. $scope.fetchData 已成功执行。但是,$scope.fetchAccounts 不是。我问这个是因为我在按钮中包含了ads_management 权限。 问题:我错过了什么? (错误:代码:10 消息:“(#10)您没有足够的权限来执行此操作” 类型:“OAuthException”)。 编辑 - 附加说明:我取消了我帐户中的应用程序的授权,然后重新授权它:它从未在弹出对话框中询问我 ads_management 权限。

【问题讨论】:

    标签: facebook angularjs facebook-graph-api


    【解决方案1】:

    第一个问题,不知道。第二个问题,您的应用未列入 Ads API 使用白名单。查看有关如何请求访问权限的 Ads APi 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2018-10-07
      • 2022-09-30
      • 1970-01-01
      相关资源
      最近更新 更多