我有 Google Client PHP library 设置 via Packagist 和Composer。
我已成功关注 this getting started guide ,以确认我可以使用Google客户端。我按照这个例子,能够通过Books API检索书籍列表,但这不是我真正想要做的。
我正在为公司创建一个网站,他们希望在他们的网站上有一个表单,允许用户在特定时间请求会议,然后这将自动添加到该公司的Google日历中。
在Google Calendar API中,我看到很多关于使用OAuth让用户登录并授予对 THEIR 日历的访问权限的信息,然后可以使用,但这不是我的意思想要的。用户不必登录;服务器应该可以访问公司的日历,然后向 SPECIFIC 日历发出请求。
我在Google API控制台中创建了一个公共访问API密钥,并在我的代码中输入,即
$client = new Google_Client();
$client->setApplicationName($applicationName);
$client->setDeveloperKey($developerKey);
$calendarService = new Google_CalendarService($client);
$calendars = $calendarService->calendars;
$results = $calendars->get($calendarId);
dd($results);
通过查看源代码,我了解了这些方法。我发现,至少在我的Google日历上,$ calendarId只是我的gmail地址(位于日历设置下)。但是,此代码返回错误:
Error calling GET
https://www.googleapis.com/calendar/v3/calendars/MY_EMAIL@gmail.comkey=MY_KEY_HERE: (401) Login Required
当然,这都是错的。我不希望用户需要登录。我找不到任何关于如何为此方案验证我的应用程序的文档。我遇到的每个指南都假定用户可以登录,以便我可以访问他们的日历。但我希望 服务器 能够登录并访问属于该公司的 SPECIFIC 日历。