我正在开发一个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,并且该用户当前已登录。
我的问题是:
onlogin=
。 问题:如何以Angular方式分配此类属性? (即来自范围的处理程序)。$scope.fetchData
已成功执行。但是,$scope.fetchAccounts
不是。我问这个是因为我在按钮中包含了ads_management
权限。 问题:我错过了什么? (错误:代码:10
消息:“(#10)您没有足够的权限来执行此操作”
键入:“OAuthException”)。 编辑 - 附加说明:我在我的帐户中取消了该应用程序的授权,并重新授权:它从未在弹出对话框中询问ads_management
权限。答案 0 :(得分:1)
第一个问题,不知道。第二个问题,您的应用不会列入广告API使用的白名单。查看有关如何请求访问权限的Ads APi文档。