我想列出所有 Zoom 云录音。我以前经常使用 Zoom 的 API 来做。但现在我认为使用 graphQL 会更容易。另外,我想创建服务器到服务器 OAuth 应用程序,而不是常规应用程序。所以我创建了一个,我可以获得访问令牌但是
当我尝试执行任何 graphQL 查询时,我得到
"Invalid access token, users field does not contain required scopes."
当我获得访问令牌时,我会获得范围列表,但 userMeetingRecordings 确实不存在。但是添加了这个范围“cloud_recording:read:list_user_recordings:admin”。
我创造了
我的查询是这样的
{
userMeetingRecordings(userId: "me",first:10) {
edges {
id
uuid
recordingFiles{
id
}
}
pageInfo {
hasNextPage
cursor
}
}
}
但即使是 Zoom 文档 中的示例也不起作用。范围也有同样的问题。
{
users(first:100){
edges{
id
firstName
lastName
department
}
}
}
我觉得奇怪的是,错误消息是“无效的访问令牌,userMeetingRecordings 字段不包含所需的范围。”但是当我获得访问令牌时,我还获得了范围列表。我相信这是我可以访问的范围列表。但此列表不包含 userMeetingRecordings .
请注意,在创建应用程序时,我选择了与录音相关的所有可能范围。
当我获得访问令牌时,我会获得范围列表,但 userMeetingRecordings 确实不存在。但是添加了这个范围“cloud_recording:read:list_user_recordings:admin”。
有人可以帮助我让 graphQL 工作吗?
您是否在您的帐户中启用了服务器到服务器 OAuth 角色?
在 Zoom 门户网站中,管理员必须转至 用户管理 > 角色 > 角色设置 > 高级功能,然后选择服务器到服务器 OAuth 的查看和编辑复选框应用程序。有关详细信息,请参阅使用角色管理。
我不知道 graphQL 错误消息有多大帮助。 但对于其余 API,错误响应中会清楚地报告缺少的范围。
使用其余 API,如果您没有收到范围错误消息,则错误通常与帐户配置相关。
要求:
GET https://api.zoom.us/v2/users/me/recordings
回复:
400 Bad Request
error:{
"code":4711,
"message":"Invalid access token, does not contain scopes
[cloud_recording:read:list_user_recordings,
cloud_recording:read:list_user_recordings:admin]."
}
添加所需范围后的响应:
200 OK
{
"from":"2024-07-02",
"to":"2024-07-03",
"page_count":1,
"page_size":10,
"total_records":10,
"next_page_token":"",
"meetings":[...]
}