如何同步Google和app日历

时间:2018-03-22 17:06:18

标签: javascript google-calendar-api

我正在尝试在日历应用中使用Google日历。我想让用户在app日历中同步他的Google日历活动。这是我的代码

<script async defer src="https://apis.google.com/js/api.js"
     onload="this.onload=function(){};handleClientLoad()"
     onreadystatechange="if (this.readyState === 'complete') this.onload()">
</script>                                                    
<script>function handleClientLoad()
        {
            gapi.load('client:auth2', initClient);
        }
        function initClient() {
            gapi.client.init({
                discoveryDocs: DISCOVERY_DOCS,
                clientId: CLIENT_ID,
                scope: SCOPES
            }).then(function(){
                loadEvents();
            })
        }
function loadEvents()
        {
            gapi.client.calendar.events.list({
                'calendarId': '<?=$option['selected']?>',
                'timeMin': (new Date()).toISOString(),
                'showDeleted': false,
                'singleEvents': true,
                'maxResults': 10,
                'orderBy': 'startTime'
            }).then(function(response) {    
                var gEvents = response.result.items;                            
            })

对我来说它工作正常,但对于用户显示授权错误。我该如何解决呢?我需要为用户发送授权密钥。

1 个答案:

答案 0 :(得分:0)

如果您遇到授权问题,可以查看these分。您的错误已在文档中指定,可通过以下方式解决:

  
      
  • 使用长期刷新令牌获取新的访问令牌。
  •   
  • 如果此操作失败,请引导用户完成OAuth流程,如Authorizing requests with OAuth 2.0
  • 中所述   
  • 如果您在服务帐户中看到此信息,请检查您是否已成功完成service account page中的所有步骤。
  •