Angularjs 谷歌日历的API OAuth谷歌集成访问错误(原点不匹配)
我将谷歌日历与Angular UI Calendar集成,以获取谷歌日历的事件数据 这是我的HTMLAngularjs 谷歌日历的API OAuth谷歌集成访问错误(原点不匹配),angularjs,calendar,Angularjs,Calendar,我将谷歌日历与Angular UI Calendar集成,以获取谷歌日历的事件数据 这是我的HTML <div ng-controller="newCalendarCtrl"> <button ng-click="handleAuthClick()">Authorize</button> <script src="https://apis.google.com/js/client.js"></script> </div>
<div ng-controller="newCalendarCtrl">
<button ng-click="handleAuthClick()">Authorize</button>
<script src="https://apis.google.com/js/client.js"></script>
</div>
当我尝试访问数据时,单击“授权”按钮,然后进入谷歌登录,登录过程成功进行,但当响应出现时,我的页面上出现错误消息“来源不匹配”。问题解决了。
将JAVASCRIPT源代码替换为
JAVASCRIPT源代码http://localhost:8080
如果你有自己的域,那么用你的域替换它,并明确使用https或http
angular.module('loginApp').controller('newCalendarCtrl', function ($scope, $log) {
var clientId = '*******'
//var apiKey = '{API KEY}';
var scopes = 'https://www.googleapis.com/auth/calendar';
function handleAuthResult(authResult) {
console.log(authResult);
var authorizeButton = document.getElementById('authorize-button');
if (authResult && !authResult.error) {
// authorizeButton.style.visibility = 'hidden';
makeApiCall();
} else {
authorizeButton.style.visibility = '';
authorizeButton.onclick = handleAuthClick;
}
}
$scope.handleAuthClick=function (event) {
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
return false;
}
function makeApiCall() {
gapi.client.load('calendar', 'v3', function() {
var request = gapi.client.calendar.calendarList.list();
request.execute(function(resp){
$.each( resp.items, function( key, value ) {
console.log(resp.items[key].id);
});
});
var request1 = gapi.client.calendar.events.list({
'calendarId': 'primary',
'timeMin': '2015-12-23T04:26:52.000Z'//Suppose that you want get data after 23 Dec 2014
});
request1.execute(function(resp){
$.each( resp.items, function( key, value ) {
console.log(resp.items[key].id);
});
});
});
}
});