2012-06-08 5 views
0

표준화 된 전자 메일에서 파싱 된 이벤트를 공유 된 Google 캘린더에 자동으로 게시해야합니다. JSON 객체를 생성하기 위해 전자 메일을 구문 분석하면 할 수 있습니다. 하지만 실제로는 을 사용했습니다. JSON- Google 캘린더에 제출하는 방법을 모르겠습니다. Google의 설명서를 읽고 다시 읽었지만 명확하게 이해하지 못했습니다. 주로, 사용자가 실제로 승인을 입력하지 않고 인증을 완료 할 수있는 방법을 이해하지 못하고이 앱의 목적을 무효화합니다.RESTful 메소드를 통한 Google API 인증

기본적으로 저는 디자이너가 아마추어 개발자로 바뀌 었습니다. 그리고 나는 PHP에서 가장 강력합니다. Javascript가 크게 뒤떨어져 있습니다. 필자는 주기적으로 PHP 문서에 HTTP 요청을 호출하여 게시 할 이벤트가있는 새 전자 메일을 찾고 구문 분석하고 포함 된 이벤트를 게시해야하는 웹 응용 프로그램을 작성했습니다. 이 부분의 모든 부분은 게시 부분을 제외하고는 대기 상태입니다. 누구나 내가 개념적으로에 대해 조용하게 자동으로 Google 캘린더에 게시하는 절차가 필요하면 내 머리를 감쌀 수 있다면 큰 도움이 될 것입니다. 이제

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Login Required", 
    "locationType": "header", 
    "location": "Authorization" 
    } 
    ], 
    "code": 401, 
    "message": "Login Required" 
} 
} 

: 나는 단계 2 & 3에서이를 얻을 alert(xhr.responseText) 통화에서

<?php 
$url = "https://www.googleapis.com/calendar/v3/calendars/".$calendar."/events?sendNotifications=false&key={".$api_key."}"; 
?> 

<script> 
function goGoogle() { 
data = "a json object will go here"; 
xhr = new XMLHttpRequest(); 
xhr.open("POST", "<?php echo $url?>", true); 
xhr.setRequestHeader("Content-type", "application/json"); 
xhr.send(data); 
xhr.onreadystatechange = function() { 
    alert(xhr.responseText); 
} 
} 
</script> 
<button onclick="goGoogle()">Sigh</button> 

: I가 오긴했는데 어디까지-단지 내 발을 얻으려고 노력 물이다 , 실현 실제로 여기에 인증을 제공하지 않았으므로 실패하지 않았습니다. 문제는 내가 을 어떻게 알지 못한다는 것입니다.을 인증해야합니다. 도움!? :)

답변

1

먼저, 다양한 사용자의 이메일을 수신하는 앱이 있고 그 이메일의 콘텐츠를 인증이 필요한 공유 된 Google 캘린더에 게시하고 싶습니다 (그렇지 않으면 게시 할 수있는 권한이 있습니다. 이벤트, 말하자면, 전혀 좋아하지 않는 캘린더). 또한 앱이 최종 사용자와 관련없이이 작업을 수행해야합니다. 그러나 앱에서 인코딩 할 수있는 공유 캘린더에 대한 자격증/인증이 있어야합니다. (그렇지 않으면 다시 내 캘린더에 게시 할 수 있습니다.) 마지막으로, 캘린더에 입력 한 항목은 앱에서 '소유'하게됩니다 (즉, 사용자 중 하나를 대신하여 입력하지 않았을 것입니다. 사용자 자격 증명이 없기 때문에 사용자가 입력하지 않았을 것입니다). 허락을받지 못함).

이 모든 것이 정확하다면 시작할 수있는 장소는 Google 캘린더 API에 ClientLogin 인증을 사용하는 것입니다. 관련 문서는 다음 위치에 있습니다. https://developers.google.com/google-apps/calendar/v2/developers_guide_protocol#AuthClientLogin
공유 캘린더에 액세스해야하는 자격 증명/인증 정보가 앱에서 사용됩니다.

해당 페이지에서 추가 정보를 얻을 수 있습니다.

귀하의 질문에 대한 오해 또는 제 응답이 너무 모호한 경우에 사과드립니다. 코드에서 CalendarAPI에 액세스하지는 않았지만 지난 몇 주 동안 인증 및 OAuth2 코드 작업을 수행했습니다.

+0

문제는 OAuth2를 근본적으로 이해하지 못했기 때문입니다. 당신은 내 목표를 완벽하게 이해했으며 링크 된 페이지가 실제로 작동 할 때까지이 페이지에서 끝났습니다. https://developers.google.com/google-apps/calendar/v2/developers_guide_protocol#AuthClientLogin 실제로 Google에서 선호하는 인증 방법 인 OAuth2를 사용했기 때문에 내가 찾던 워크 쓰루 (walk-through)를 제공합니다. – user1444668