【问题标题】:Getting Google Calendar events with API V3 without using OAuth在不使用 OAuth 的情况下使用 API V3 获取 Google 日历事件
【发布时间】:2014-02-03 22:10:18
【问题描述】:

我正在开发一个使用服务来读取 Google 日历活动的 Android 应用。它与 Google Calendar API v2(已弃用)一起工作(不是预期的),现在我正在尝试实现 Google Calendar API v3。

我一直在关注这个示例 (http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/instructions.html) 但现在我意识到我不需要在这个应用程序中使用 OAUTH2.0。 我不想请求应用用户访问他们的 Google 日历的权限,我想显示来自通用日历的日历事件。

在 Google Calendar API V2 中,我可以像这样使用私有日历 URL:

https://www.google.com/calendar/feeds/{EMAIL}/private-{MAGIC-COOKIE}/basic

谁能告诉我是否仍然可以在不使用 OAUTH 的情况下使用相同的日历 URL 来读取事件?

【问题讨论】:

    标签: android google-calendar-api google-oauth


    【解决方案1】:

    使用 V3,可以在没有 Auth 的情况下读取公共日历上的事件,但您需要一个 API 密钥,并且您必须声明您的站点域。 在浏览器中试试这个网址:

    https://www.googleapis.com/calendar/v3/calendars/{YOUR AGENDA MAIL}/events?key={YOUR API KEY}
    

    如果您想获得 2017 年 1 月 1 日之后的活动,可以试试这个:

    https://www.googleapis.com/calendar/v3/calendars/{YOUR AGENDA MAIL}/events?key={YOUR AP}&maxResults=2500&orderBy=updated&timeMin=2017-01-01T00%3A00%3A00%2B00%3A00&singleEvents=TRUE
    

    ma​​xResults 默认值为 250

    timeMin 是 RFC3339 时间戳(url 编码)。在 php 中你可以像这样生成它:urlencode(date('c'));

    这里解释所有参数:https://developers.google.com/google-apps/calendar/v3/reference/events/list#try-it

    注意:如果您不知道如何获取 API 密钥,可以按照此向导进行操作:https://console.developers.google.com/flows/enableapi?apiid=calendar

    【讨论】:

      【解决方案2】:

      您正在寻找的是一个服务帐户。服务帐户可让您设置所有用户都将使用的标准日历。它与普通的 OAuth 不同,用户不会被要求访问自己的帐户。他们将访问您的应用程序帐户。

      这是一个可以帮助您入门的链接。
      https://developers.google.com/accounts/docs/OAuth2ServiceAccount

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-14
        • 1970-01-01
        • 2019-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多