当前位置: 首页 > 知识库问答 >
问题:

谷歌日历-创建活动表示成功,但未显示在日历上

史同化
2023-03-14

我正在尝试使用谷歌日历API创建谷歌日历事件。具体来说,我使用的是服务帐户方法,因为我的应用程序将运行一系列事件来创建并将它们插入我的谷歌日历。使用的语言是PHP。

我已经从gitHub下载了PHP客户端库。https://github.com/googleapis/google-api-php-client.

我的测试代码在下面。这成功地完成了,并给我回了一个长的事件标识。然而,当我尝试将其粘贴到浏览器时,它会把我带到我的日历上,并显示“找不到请求的事件”。2020年5月28日也没有显示任何内容。有人能让我明白我做错了什么吗?

文件位于C:/sites/GoogleCredentials/service account。json是我在谷歌云控制台的项目下创建的凭证中的服务帐户密钥。

require_once('google-calendar/vendor/autoload.php');

    putenv('GOOGLE_APPLICATION_CREDENTIALS=C:/sites/GoogleCredentials/service-account.json');

    $client = new Google_Client();
    $client->useApplicationDefaultCredentials();
    $client->addScope(Google_Service_Calendar::CALENDAR_EVENTS);
    $service = new Google_Service_Calendar($client);

    $event = new Google_Service_Calendar_Event(array(
      'summary' => 'Google I/O 2015',
      'location' => '800 Howard St., San Francisco, CA 94103',
      'description' => 'A chance to hear more about Google\'s developer products.',
      'start' => array(
        'dateTime' => '2020-05-28T09:00:00',
        'timeZone' => 'America/New_York'
      ),
      'end' => array(
        'dateTime' => '2020-05-28T17:00:00',
        'timeZone' => 'America/New_York'
      )
    ));

    $calendarId = 'primary';
    $event = $service->events->insert($calendarId, $event);
    printf('Event created: '.$event->htmlLink);

共有1个答案

郎雅昶
2023-03-14

您需要记住,服务号不是您。服务号有自己的谷歌日历帐户。事件被插入到它的谷歌日历中,而不是你的。

您应该使用服务帐户电子邮件地址与服务帐户共享日历,然后使用日历中的日历id插入。

你也可以保持现状,只要确保邀请自己参加服务号举办的活动。

 类似资料:
  • 我正在使用以下代码实现引导datetimepicker: 包括文件的顺序为: 当我点击日历图标时,什么都不会发生。我在实施中犯了什么错误? 编辑: 增加了小提琴手:http://jsfiddle.net/1c1nr9sp/4/

  • 因此,我已将服务号设置为域范围的授权,如本文所述执行谷歌办公套件域范围的授权。在谷歌办公套件管理控制台中,我已授权服务号使用OAuth 2.0范围: 每次我试图创建一个事件,最终都会出现这个错误 这建立了google凭据,不使用模拟,日历与服务号共享。

  • 我在我的Angular 9 Web应用程序中使用谷歌日历API,并试图在我的谷歌办公套件域内的谷歌日历上创建事件 在G Suite管理控制台中,我为服务帐户授予了作用域的权限https://www.googleapis.com/auth/calendar和https://www.googleapis.com/auth/calendar.events 我在我的帐户下创建了日历本身,并添加了具有“更改

  • 在使用GoogleCalendarAPI(与python一起使用)时,我已经能够获得我想要的变量,因此我可以将事件导出到文本文件中。然而,一个变量(位置)触发了一个错误,我不知道为什么。 这直接来自google的开始代码,我还添加了我想要的变量: 它会打印一个即将到来的约会列表,包括地点,但它会停止并向我抛出这个错误 这是凭据/json的问题吗?我使用的是谷歌日历api的旧版本吗?我怎么检查?我的

  • 谷歌日历API…/auth/Calendar查看、编辑、共享和永久删除您可以使用谷歌日历访问的所有日历 谷歌日历API…/auth/Calendar。acls查看并更改您拥有的Google日历的共享权限 谷歌日历API…/auth/Calendar。事件查看和编辑所有日历上的事件 CalendarQuickstart或CalendarReader很好,它们从日历中读取,但:当我尝试写入日历时,我得

  • 我有一个应用程序使用s2s与谷歌日历API的连接。我需要在不同的用户日历中创建事件。若要使之成为可能,用户应转到日历的设置并将其日历共享到服务帐户。但我想为用户简化这一点 - 这样他们就不需要去他们的日历设置。我没有用于用户交互的界面 - 这是一个机器人。如何以其他方式访问用户的日历?