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