我是AngularJS新手,但我真的很喜欢AngularJS的工作方式,所以我想把它作为我的Google端点后端的客户端部署。然后我立刻发现了两个问题:
1、把myCallback放在哪里,这样它就可以工作在ANgularJs控制器中了?
<script src="https://apis.google.com/js/client.js?onload=myCallback"></script>2,我怎么能做oauth2呢?控制器是如何知道用户是否授权的?
gapi.auth.authorize({client_id: myCLIENT_ID,
      scope: mySCOPES,.....任何帮助都是非常感谢的。
发布于 2013-04-10 05:47:07
为了用AngularJs加载,传递给的onLoad的回调函数是引导AngularJS的函数,如下所示:
这将转到html文件的最终结果:
<script src="https://apis.google.com/js/client.js?onload=startApp">然后,在<head>部分中,引导像这样的角度:
<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指令。
发布于 2013-04-09 15:28:24
关于回调-为了访问角控制器,您需要使用注入器(http://docs.angularjs.org/api/AUTO.$injector)。
只需创建一个全局回调函数,然后从它获得对控制器的引用,如下所示:
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电话是非常直接的。
发布于 2014-07-08 01:42:50
这里有关于如何在google端点上使用angularjs的详细信息:
https://stackoverflow.com/questions/15905755
复制相似问题