【问题标题】:Basic Example of Google Calendar API using Google API PHP Client使用 Google API PHP 客户端的 Google Calendar API 基本示例
【发布时间】:2017-03-09 20:51:04
【问题描述】:

我有一个房产网站,其中列出了多个房产。每家住宿都有一个 Google 日历,当住宿在特定日期被预订时,系统会在当天为该特定日历添加一条备注。

所有这些我都是手动完成的,我通过这样的布局显示可用性来更新网站的 HTML。

现在我正在尝试使用 Google Calendar API 使所有这些自动化,我可以在上面的示例中显示每个属性的预订。

我正在尝试使用位于 https://github.com/google/google-api-php-client 的 Google API PHP 客户端库

我最大的问题是我无法在互联网上找到任何基本示例。 Google 页面未显示完整示例。

例如,Google 的指南页面只显示了一个“书籍”示例,我根本不需要。

我在整个互联网上搜索了一些基本的代码示例,但根本找不到。我搜索了 stackoverflow 本身,但我发现的所有代码都非常令人困惑,而且它们都是不同的。

此外,他们中的大多数人已经“知道”它,因此无法理解需要什么。

如果有人有一个简单的示例,我可以在其中提取日历中一天的事件,请在此处发布。

另外,如果您知道像上图那样显示可用性的其他方式,那将是很大的帮助!

谢谢。

【问题讨论】:

  • 按照developers.google.com/google-apps/calendar/quickstart/php 此处的文档进行操作,如果您有任何错误,请告诉我们。
  • 老兄看完后回答问题....
  • 我做到了。我只是想帮你。如果您至少还没有尝试过并发布您正在使用的代码,请不要指望我们会为您做所有事情。也许这篇文章可以给你一个想法stackoverflow.com/questions/42177931/…。祝你好运!
  • 您提供的链接不使用 Google API PHP 客户端。我也不期望有人为我做任何事。我只是要求使用 Google API PHP Client 的示例代码,我在上面给出的链接。另外,我已经提到我在整个互联网和 stackoverflow 上进行了搜索,但找不到“好的”来源。
  • 另外,也没有必要对问题进行-1,因为我要求您在回答之前阅读问题。我不是在寻找谷歌搜索的答案。我正在寻找真正做过这件事的人的答案。仅在 stackoverflow 上搜索并在此处发布链接不是答案。

标签: google-calendar-api google-api-php-client


【解决方案1】:

什么鬼,我会重新发布我从this question给出的答案:

if($refresh_token_accessed_from_my_database) {
            //If session contains no valid Access token, get a new one
            if ($client->isAccessTokenExpired()) {
                $client->refreshToken($refresh_token_accessed_from_my_database);
            }
            //We have access token now, launch the service
            $this->service = new Google_Service_Calendar($client);
        }
        else {
            //User has never been authorized, so let's ask for the ok
            if (isset($_GET['code'])) {
                //Creates refresh and access tokens
                $credentials = $client->authenticate($_GET['code']);

                //Store refresh token for further use
                //I store mine in the DB, I've seen others store it in a file in a secure place on the server
                $refresh_token = $credentials['refresh_token'];
                //refresh_token->persist_somewhere()

                //Store the access token in the session so we can get it after
                //the callback redirect
                $_SESSION['access_token'] = $client->getAccessToken();
                $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
                header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
            }

            if (!isset($_SESSION['access_token'])) {
                $auth_url = $client->createAuthUrl();
                header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
            }

            if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
                $client->setAccessToken($_SESSION['access_token']);
                $this->service = new Google_Service_Calendar($client);
            }

当我构建我的项目时,我是从 cmets 中的 Morfinismo 教程开始的,但是我在遵循那个教程时遇到了一些问题。我已经制作了 cmets 来描述一般流程和一些潜在的问题点,如果您不太清楚发生了什么,您可能需要将这些笔记与其他教程进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 2017-08-04
    • 2020-09-23
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多