1

2014年11月17日Google不赞成使用Zend Framework的Google Calendar API的v1和v2版。如何在没有用户身份验证的情况下列出Google日历活动

看来列出在公开共享谷歌日历公开共享事件的唯一方法是通过从GitHub使用新的谷歌客户端库API的OAuth 2.0

这意味着游客到一个公共网站,用于显示公共事件现在必须进行身份验证和登录。

这是真的吗?是否有其他方式继续显示公开的Google日历活动?

+0

我真的需要知道你是如何得到这个工作。有没有可以显示的代码?我读过多个答案,说IOS中没有可以使用“服务帐户”的API。如果那不是真的,你是怎么做到的。您能否请张贴一些显示验证和查询过程的代码?谢谢! – JustLearningAgain 2016-01-03 03:30:25

回答

6

你需要做的就是使用这个Service account。然后,您可以将服务帐户电子邮件地址作为user添加到您网站的日历中。服务帐户将能够访问这个日历,包括事件

+0

好的,谢谢@DaImTo ...即使日历设置为公开访问?正确? – 2014-11-25 19:50:10

+0

你可以分享任何“入门”PHP代码@DaImTo? – 2014-11-25 20:00:13

+0

只有我手头有php的谷歌分析有了一个服务帐户。 http://www.daimto.com/google_service_account_php/即使设置为公开,也不要紧,只需将服务帐户电子邮件添加为用户,然后就可以访问它。它是最简单的方法,我已经在.net中完成了。我还没有时间为PHP制作教程。 – DaImTo 2014-11-25 20:12:38

4

您仍然可以在没有Oauth2的情况下检索所有公共数据,您只需在开发人员控制台中注册并创建一个API密钥即可。然后,你可以这样做:

GET https://www.googleapis.com/calendar/v3/calendars/<CALENDAR_EMAIL>/events?key={YOUR_API_KEY}

+0

谢谢@luc。以下是我使用'YOUR_API_KEY'时的错误消息: 致命错误:未收到的异常'Google_Service_Exception',并显示消息'Error calling error https://www.googleapis.com/calendar/v3/calendars/google%40example.com/events ?key = MY-PUBLIC-ACCESS-KEY:(403)Access Not Configured。 API未针对您的项目启用,或者API密钥上配置了per-IP或per-Referer限制,并且请求不符合这些限制。请使用Google Developers Console更新您的配置。'在/usr/local/lib/php/google-api-php-client/src/Google/Http/REST.php:76 – 2014-11-25 03:24:21

+0

堆栈跟踪:#0/usr/local/lib/php/google-api- php-client/src/Google/Http/REST.php(41):Google_Http_REST :: decodeHttpResponse(Object(Google_Http_Request))#1/usr/local/lib/php/google-api-php-client/src/Google/Client.php(548):Google_Http_REST :: execute(Object(Google_Client),Object(Google_Http_Request))#2 /usr/local/lib/php/google-api-php-client/src/Google/Service/Resource.php (190):Google_Client-> execute(Object(Google_Http_Request))#3/usr/local/lib/php/google-api-php-clien在/ usr/local/lib/php/google-api-php-client/src/Google/Http/REST.php在线76 – 2014-11-25 03:24:36

+0

这可能很明显,但需要在Developer Console中启用Calendar API。如果是,你在使用推荐人吗?如果你是,尝试没有推荐人。将该字段留空将允许访问任何人。 – Andy 2014-11-25 17:58:34

相关问题