我正在读这个入门文档:
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?我想知道这个语法的细节。如果我使用google驱动API,我是否编写gapi.client.drive.drive.get?
发布于 2021-01-19 19:02:34
要回答这个问题,让我们从发现服务api开始
Discovery为每个API提供了一个用于检索机器可读的"Discovery“元数据的Google列表。
我们之所以看到这一点,是因为使用gapi的Google js客户端库是使用discovery生成的。apis客户端生成器
然后让我们看一下人民api的发现码头。
如果你在资源下面检查,你会得到
然后,每个资源都有一组下面的方法,而人员资源有一个称为get的方法。
所以people.people.get实际上是{API}.{resource}.{method}
这正是谷歌选择建立API的方式。
现在google驱动器api也有一组资源。
有一个叫做gapi.client.drive.drives.get的方法,即驱动api,驱动资源,get方法,它将返回一个驱动器资源。
如果您实际上在文件之后,那么它可能更像gapi.client.drive.files.get,它是驱动器api,文件资源,文件获取方法,它将返回一个文件资源。
发布于 2021-01-19 19:00:18
来自API发现文档
对于中定义的每个方法,将在
gapi.client对象上构造相应的方法。 例如,People API的方法在gapi.client.people下。 People API有people.get和people.connections.list方法。 生成的方法可以按以下方式调用:gapi.client.people.people.get(...)gapi.client.people.people.connections.list(...)您可以在API资源管理器上查看API方法。
所以.people.people的意思是:
使用
People API-equivalent方法people,调用people.get(...)方法。
要使用驱动API v3,可以使用您的方法名对gapi.client.drive进行查询。例如,gapi.client.drive.channels.stop(...)。
这个答案的一个重要注意事项是:您必须在使用它之前加载该驱动器API。
gapi.client.load('drive', 'v3', callback);https://stackoverflow.com/questions/65797570
复制相似问题