首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS和google云端点:遍历所需

AngularJS和google云端点:遍历所需
EN

Stack Overflow用户
提问于 2013-04-09 15:14:10
回答 3查看 3.8K关注 0票数 4

我是AngularJS新手,但我真的很喜欢AngularJS的工作方式,所以我想把它作为我的Google端点后端的客户端部署。然后我立刻发现了两个问题:

1、把myCallback放在哪里,这样它就可以工作在ANgularJs控制器中了?

代码语言:javascript
复制
<script src="https://apis.google.com/js/client.js?onload=myCallback"></script>

2,我怎么能做oauth2呢?控制器是如何知道用户是否授权的?

代码语言:javascript
复制
gapi.auth.authorize({client_id: myCLIENT_ID,
      scope: mySCOPES,.....

任何帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-10 05:47:07

为了用AngularJs加载,传递给的onLoad的回调函数是引导AngularJS的函数,如下所示:

这将转到html文件的最终结果:

代码语言:javascript
复制
<script src="https://apis.google.com/js/client.js?onload=startApp">

然后,在<head>部分中,引导像这样的角度:

代码语言:javascript
复制
<script type='text/javascript'>

function startApp() {

    var ROOT = 'http://<yourapi>.appspot.com/_ah/api';
    gapi.client.load('myapifromgoogleendpoint', 'version1', function() {
        angular.bootstrap(document, ["myModule"]);
    }, ROOT);
}

</script>

如Kenji所述,还需要从html.中删除ng-app指令。

票数 5
EN

Stack Overflow用户

发布于 2013-04-09 15:28:24

关于回调-为了访问角控制器,您需要使用注入器(http://docs.angularjs.org/api/AUTO.$injector)。

只需创建一个全局回调函数,然后从它获得对控制器的引用,如下所示:

代码语言:javascript
复制
window.callbackFunction() {
  injector = angular.element(document.getElementById('YourController')).injector()
  injector.invoke(function ($rootScope, $compile, $document) {
    $rootScope.variable = "stuff you want to inject";
  })
}

在本例中,我将数据注入rootScope,但这也适用于特定的控制器作用域(只需注入$scope )。

由于我不熟悉gapi,所以无法解决第二个问题,尽管从angularjs发出auth2电话是非常直接的。

票数 0
EN

Stack Overflow用户

发布于 2014-07-08 01:42:50

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15905755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档