google-api - 什么是“gapi.client.people.people.get”?
问题描述
我正在阅读此入门文档:
https://github.com/google/google-api-javascript-client/blob/master/docs/start.md
在Option1中,编写如下代码:
gapi.client.people.people.get({
'resourceName': 'people/me',
'requestMask.includeField': 'person.names'
})
为什么.people.people
?我想知道这个语法的细节。如果我使用谷歌驱动 API,我会写gapi.client.drive.drive.get
吗?
解决方案
要回答这个问题,让我们从发现服务 api开始
Discovery API 提供了一个 Google API 列表,用于检索每个 API 的机器可读“发现文档”元数据。
我们正在查看这个的原因是因为您使用 gapi 的Google apis js 客户端库是使用发现服务 api 生成的。api 客户端生成器
然后让我们看看people api的发现 Dock
如果你在你得到的资源下检查
- 联系人组
- 联系人组成员
- 其他联系方式
- 人们
- 人物对话
然后每个资源下都有一组方法,而人员资源有一个名为get的方法。
people.people.get
实际上也是如此{API}.{resource}.{method}
这就是谷歌选择构建 API 的方式。
现在google drive api也有一组资源
- 关于
- 变化
- 频道
- 注释
- 文件
- 权限
- 回复
- 修订
- 驱动器
有一个名为 gapi.client.drive.drives.get 的方法,它是驱动器 API,驱动器资源,get 方法将返回驱动器资源。
如果您实际上是在文件之后,那么它可能更像是 gapi.client.drive.files.get 这是驱动器 api、文件资源、文件获取方法,它将返回文件资源。
推荐阅读
- c# - 在 dotnet core web API 中使用现有 JSON 动态创建新 JSON 模型
- c++ - 检查先决条件应该是谁的责任?
- xamarin.forms - ItemsSource 更改时选择器未更新
- python - Python将文本文件中的数据加载到sqlite数据库中,并将表名和列作为参数传递
- mysql - MySQL LIMIT 在相关子查询中被忽略
- javascript - 是否引用了 JavaScript 闭包变量,或者它们是否包含自己的副本?
- java - 为自定义迭代器编写测试用例
- django - 如何以某种格式显示日期时间字段
- sql - 如何从两个相关表中获取数据并放入第三个表
- python - Python,AttributeError:“list”对象没有属性“get_model”