我需要将从标准化电子邮件中解析出来的事件自动发布到共享的谷歌日历。解析电子邮件以创建我可以(并且已经完成)的 JSON 对象。但我从未真正使用过JSON——我不知道如何将它提交到 Google 日历。我已经阅读并重新阅读了谷歌的文档,但我并没有清楚地理解它。首先,我不明白如何在没有用户实际输入接受的情况下完成身份验证,这会破坏这个应用程序的目的。
基本上,我是一名设计师转为业余开发人员,我最擅长 PHP,而 Javascript 则明显落后。我已经构建了一个 web 应用程序,它将定期调用一个 HTTP 请求到一个 php 文档,该文档应该找到带有要发布的事件的新电子邮件,解析它们并发布它们包含的事件。除了发布部分之外,这一切都已准备就绪并正在等待。如果有人可以帮助我了解在概念上需要有一个安静、自动的程序来发布到 Google 日历,我将非常感激。到目前为止 - 只是试图让我的脚在水中 - 这就是我已经到达的地方:
<?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>
从alert(xhr.responseText)
电话中,我在第 2 和第 3 阶段得到了这个:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
现在,我意识到我实际上并没有提供任何身份验证,所以我并不惊讶它失败了。问题是我不知道如何进行身份验证。帮助!?:)