为什么显示名称未显示在日历活动参加者中?

2024-02-25

我使用以下代码要点成功检索日历活动参加者:

require_once __DIR__ . '/vendor/autoload.php';
putenv("GOOGLE_APPLICATION_CREDENTIALS=" .  __DIR__ . '/mt-service-account.json');

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setApplicationName("APP NAME");
$client->setSubject("<APPROPRIATE_USER_EMAIL>");
$client->setScopes([
    'https://www.googleapis.com/auth/calendar'
]);

$calendarService = new Google_Service_Calendar($client);

$optParams = array(
    'singleEvents' => true,
    'orderBy'      => 'startTime'
);
$events = $calendarService->events->listEvents('<APPROPRIATE_CALENDAR_ID>', $optParams);

foreach ($events->getItems() as $event) {
  print_r($event->getAttendees());
}

但是,从响应中可以看出,没有返回显示名称。

Array
(
    [0] => Google_Service_Calendar_EventAttendee Object
        (
            [additionalGuests] => 
            [comment] => 
            [displayName] => 
            [email] => [email protected] /cdn-cgi/l/email-protection
            [id] => 
            [optional] => 
            [organizer] => 
            [resource] => 
            [responseStatus] => needsAction
            [self] => 
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )
)

相关与会者是活动创建者的联系人,创建活动时,联系人的姓名和电子邮件会显示在类型辅助字段中。

UPDATE NB事件不是通过 API 创建的。它们是通过 Google 日历(即在浏览器中)创建的。通过在“添加参加者”字段中键入参加者的姓名(Google 输入帮助找到联系人)来添加参加者。目的是以编程方式(即使用 API)检索由 G Suite 日历用户创建的活动详细信息


我看不到您如何创建相关事件,但我的猜测是,当创建事件并且与会者添加其显示名称时,并未将其作为可选参数插入。

事件.插入 https://developers.google.com/google-apps/calendar/v3/reference/events/insert

attendees[].displayName string 与会者的姓名(如果有)。选修的。可写

通过 Google 日历网络视图创建活动时,您只需添加用户电子邮件地址。如果所述用户是 Gmail 帐户,则 Google 可以猜测显示名称。如果它不是 Gmail 帐户,那么 google 就无法知道用户名是什么,因为您最终的显示名称为空。

attendees": [
    {
     "email": "[email protected] /cdn-cgi/l/email-protection",
     "displayName": "Linda Lawton",
     "organizer": true,
     "self": true,
     "responseStatus": "accepted"
    },
    {
     "email": "[email protected] /cdn-cgi/l/email-protection",
     "responseStatus": "needsAction"
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么显示名称未显示在日历活动参加者中? 的相关文章

随机推荐

  • 如何测试字符串包含列表中的元素并通过 Pandas 将目标元素分配给另一列

    我有一个一栏列表 展示了一些公司名称 其中一些名称包含国家 地区名称 例如 中国 A1 中的 中国 芬兰的 C1 中的 芬兰 我想根据公司名称和由国家 地区名称组成的预定义列表提取其所属国家 地区 原始数据框df像这样显示 Company
  • 从另一个文件执行 php

    我有 1 个模板文件 它包含在主文件中 一些模板 在主文件中 我将文件读入 1 个变量并显示它 当然 php 脚本不会在那里运行 我怎样才能做到这一点 我想要什么 Thanks 你可以使用include读取并处理文件 如果您需要对结果进行后
  • 如何“newtype”IntSet?

    谢谢newtype和GeneralizedNewtypeDeriving扩展 我们可以毫不费力地定义不同的轻量级类型 newtype PersonId PersonId Int deriving Eq Ord Show NFData new
  • JavaScript 中仍然不推荐“new”吗?

    所以我看到很多 JavaScript 代码在创建构造函数时使用 new 在阅读了 JavaScript the Good Parts 的一部分之后 似乎使用 new 并不是猫的睡衣 那是4年前的事了 还是不推荐吗 目前的标准是什么 从什么时
  • 相当于 PHP multi_query 的 Codeigniter 是什么

    使用 PHP 我编写了一个像这样的多重查询 MySQL string UPDATE table SET name joe WHERE ID 1 MySQL string UPDATE table SET name Jane WHERE ID
  • tstr在一轮中拆分到不同的列

    我有一个如下表 myDT lt fread id other strformat content 1 other1 A B a1 b1 2 other2 A C a2 c2 3 other3 B A C b3 a3 c3 4 other4
  • Objective-C 运行时如何检索类和方法的列表?

    如果我得到以下 Objective C 源文件 test m import
  • 如何在 Kotlin 中解析 JSON?

    我从服务接收到一个相当深的 JSON 对象字符串 我必须将其解析为 JSON 对象 然后将其映射到类 如何将 JSON 字符串转换为 Kotlin 中的对象 在映射到各个类之后 我使用了 Jackson 的 StdDeserializer
  • 使用斯坦福 NER 从文本文档中提取地址?

    我正在寻找斯坦福大学NER http nlp stanford edu software CRF NER shtml并考虑使用 JAVA API 从文本文档中提取邮政地址 该文件可以是任何包含邮政地址部分的文件 例如水电费 电费 所以我的想
  • NSRefreshedObjectsKey 的用途

    In a NSManagedObjectContextObjectsDidChangeNotification通知 我有时会收到NSRefreshedObjectsKey key 我明白刷新的对象 https developer apple
  • puma 是唯一的多线程 Rails 4 http 服务器吗?

    我已经将我们的堆栈转换为 Rails 4 是的 我希望利用线程安全代码 Puma 的工作是起床 停止它似乎是一个不同的问题 Puma 是唯一的多螺纹导轨吗 Thin gt EventMachine Unicorn gt Forking Pu
  • git:补丁没有有效的电子邮件地址

    我有一个补丁文件 我想将此补丁应用到 git 存储库中的代码 当我使用 subversion 时 这个过程非常简单 右键 gt tortoise svn gt 应用补丁 它总是按我的预期工作 但我不能使用 git 来做到这一点 Git 不应
  • EasyAdmin 3.X - 如何查看相关实体`toString`而不是列表中关联的数量?

    我有一个实体Product与实体具有多对多关系Category ORM ManyToMany targetEntity App Domain Category inversedBy stalls private categories ret
  • ADT什么时候将BuildConfig.DEBUG设置为false?

    在最新版本的 ADT r17 中添加了生成常数BuildConfig DEBUG这是根据构建类型设置的 我遇到的问题是它永远不会设置为 false 我希望它在执行 Android 工具 gt 导出签名应用程序包 时发生变化 但它对我来说没有
  • 替换 Word 2003 文档中的 MergeFields 并保持样式

    我一直在尝试创建一个库来替换 Word 2003 文档上的 MergeFields 一切正常 除了在替换时丢失了应用于该字段的样式之外 有没有办法保留它 这是我用来替换字段的代码 private void FillFields2003 st
  • git 如何跳转到第一个提交? [复制]

    这个问题在这里已经有答案了 如何跳转到 git 存储库中的第一个提交 另外 有没有办法通过网站在Github上做到这一点 要进行存储库的第一次提交 请执行以下操作 git checkout master git log reverse 输出
  • Jquery加载然后编辑加载的内容

    我正在使用 Jquery 加载 然后一旦内容加载到 div 中 我想将一些标签更改为语言相关变量 我的问题是我必须使用 settimeout 来让脚本等待足够长的时间以便元素准备好编辑 当我使用回调函数参数时 我想要编辑的元素显然还没有准备
  • 用作 ng-if 的指令 (Angular 2)

    我正在尝试创建一个作为 ngIf 工作的指令来控制是否允许具有正确权限的用户查看特定内容 如下所示 div h3 You are allow to see this h3 div 我正在阅读有关如何做到这一点的信息 并发现了这一点doc h
  • Python 中精确的循环计时

    For 这个项目 http www samplerbox org我正在设计一个音序器 鼓机 它应该能够以精确的速度发送 MIDI 音符 示例 每 2 秒 16 个音符 即在音乐术语中 每小节 16 个 1 16 音符 BPM 120 即每
  • 为什么显示名称未显示在日历活动参加者中?

    我使用以下代码要点成功检索日历活动参加者 require once DIR vendor autoload php putenv GOOGLE APPLICATION CREDENTIALS DIR mt service account j