2012-05-18 5 views
1

사용자가 자바 스크립트로 Google 캘린더 API v3을 사용하여 이벤트를 인증하고 quickadd를 추가 할 수 있습니다. 인증 버튼이 보이지 않습니다. 나는 코딩에 익숙하지 않다.Google 캘린더 API Javascript Quickadd

콘솔 :

Uncaught SyntaxError: Unexpected token } test.html:47 
Uncaught TypeError: Cannot read property 'qainput' of undefined test.html:62 
onload test.html:62 

HTML 파일 : 해당되어 몇 주로서

<html> 
    <head> 
    <meta charset='utf-8' /> 
    <style> 
     #info { 
     border: 0px solid black; 
     padding: 0.25em; 
     margin: 0.5em 0; 
     } 
    </style> 
    <script type="text/javascript"> 
     var apiKey = 'AIzaSyDcbjOvAT85hCdVrjgUAqylf_QtxE2Gx60'; 
     var clientId = '202852486259.apps.googleusercontent.com'; 
     var scopes = 'https://www.googleapis.com/auth/calendar'; 
     function handleClientLoad() { 
     gapi.client.setApiKey(apiKey); 
     window.setTimeout(checkAuth,1); 
     } 

     function checkAuth() { 
     gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult); 
     } 


     function handleAuthResult(authResult) { 
     var authorizeButton = document.getElementById('authorize-button'); 
     if (authResult) { 
      authorizeButton.style.visibility = 'hidden'; 
      makeApiCall(); 
     } else { 
      authorizeButton.style.visibility = ''; 
      authorizeButton.onclick = handleAuthClick; 
     } 
     } 

     function handleAuthClick(event) { 
     gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult); 
     return false; 
     } 

     function makeRpcRequest() { 
     var qatext = document.qaform.qainput.value; 
     var request = gapi.client.calendar.events.quick_add({ 
      'calendarId': 'primary', 
      'text': +qatext+ 
     }); 
     request.execute(writeResponse); 
     } 

     function writeResponse(response) { 
     console.log(response); 
     var name = response.summary; 
     var infoDiv = document.getElementById('info'); 
     var infoMsg = document.createElement('P'); 
     infoMsg.appendChild(document.createTextNode(+ name' sucessfully created!')); 
     infoDiv.appendChild(infoMsg); 
     } 
    </script> 
    <script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script> 
    </head> 
    <body onload="document.qaform.qainput.focus();"> 
    <button id="authorize-button" style="visibility: hidden">Authorize to Use QuickAdd</button> 
    <form id="qaform"> 
    <input placeholder='QuickAdd' name='qainput' /> 
    <button id="rpc" onclick="makeRpcRequest();">Add</button> 
    </form> 
    <div id="info"></div> 
    </body> 
</html> 
+0

'+ qatext +'및'createTextNode (+ name '가 성공적으로 생성되었습니다!')'란 무엇입니까? – rxgx

답변

1

당신은 아마 당신의 대답을 발견했습니다하지만 같은 문제가 최근에 시작 가졌다 기본적으로 사용중인 것과 동일한 코드입니다. Google 콘솔의 '서비스'에서 Google 캘린더를 활성화하지 않았습니다. 모든 콘솔 설정이 올바르지 않으면 "권한 부여"버튼이 숨겨진 상태로 유지됩니다 (기본적으로 숨겨 짐). 모든 설정이 정확하고 스크립트가 API와 제대로 통신하면 권한 부여 버튼이 표시되고 버튼을 클릭하여 이벤트를 추가하고 응답을 작성할 수 있습니다.