无法在Facebook应用中列出广告帐户

时间:2014-08-18 14:34:26

标签: facebook angularjs facebook-graph-api

我正在开发一个pure-html / js web应用程序(实际上我正在使用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权限。

1 个答案:

答案 0 :(得分:1)

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