Google 课堂 API - 如何在检索课程列表时格式化 setFields 参数
Google Classroom API - How to format the setFields parameter when retrieving the course list
我正在使用 Java 和 Android 检索 Google 课堂课程列表。
这是进行调用的代码。它工作正常。
ListCoursesResponse coursesResponse1 = mService.courses().list()
.setPageSize(30)
.setTeacherId("me")
.execute();
但是教室 API 相当滞后,所以我只想指定每门课程所需的参数,即课程名称和 ID。我希望这会加快响应时间。有一个可以使用的 setFields 参数,但是当我这样做时,响应失败 "Request contains an invalid argument."
这是我使用的代码
ListCoursesResponse coursesResponse1 = mService.courses().list()
.setPageSize(30)
.setTeacherId("me")
.setFields("name,id")
.execute();
我确定问题出在 setFields 字符串上。它很可能格式不正确,但我找不到任何关于如何格式化 setFields 字符串的文档。
@Satheeshkumar 的回答不正确。
支持setFields
方法并正常工作。您可以在 documentation for the API client.
上找到它
此外,查看 documentation page 上的 API 资源管理器,您可以看到有一个 "Show standard parameters" 按钮。
点击后你会看到fields
参数。
此参数的工作方式是过滤输出,语法取决于结果的结构。通过查看 response body,您可以看到响应如下所示:
{
"courses": [
{
{
"id": string,
"name": string,
"section": string,
"descriptionHeading": string,
"description": string,
"room": string,
"ownerId": string,
"creationTime": string,
"updateTime": string,
"enrollmentCode": string,
"courseState": enum (CourseState),
"alternateLink": string,
"teacherGroupEmail": string,
"courseGroupEmail": string,
"teacherFolder": {
object (DriveFolder)
},
"courseMaterialSets": [
{
object (CourseMaterialSet)
}
],
"guardiansEnabled": boolean,
"calendarId": string
}
}
],
"nextPageToken": string
}
因此,如果您只需要 name
和 id
字段,您的 fields
查询应该是 "courses(id,name)"
.
我正在使用 Java 和 Android 检索 Google 课堂课程列表。 这是进行调用的代码。它工作正常。
ListCoursesResponse coursesResponse1 = mService.courses().list()
.setPageSize(30)
.setTeacherId("me")
.execute();
但是教室 API 相当滞后,所以我只想指定每门课程所需的参数,即课程名称和 ID。我希望这会加快响应时间。有一个可以使用的 setFields 参数,但是当我这样做时,响应失败 "Request contains an invalid argument."
这是我使用的代码
ListCoursesResponse coursesResponse1 = mService.courses().list()
.setPageSize(30)
.setTeacherId("me")
.setFields("name,id")
.execute();
我确定问题出在 setFields 字符串上。它很可能格式不正确,但我找不到任何关于如何格式化 setFields 字符串的文档。
@Satheeshkumar 的回答不正确。
支持setFields
方法并正常工作。您可以在 documentation for the API client.
此外,查看 documentation page 上的 API 资源管理器,您可以看到有一个 "Show standard parameters" 按钮。
点击后你会看到fields
参数。
此参数的工作方式是过滤输出,语法取决于结果的结构。通过查看 response body,您可以看到响应如下所示:
{
"courses": [
{
{
"id": string,
"name": string,
"section": string,
"descriptionHeading": string,
"description": string,
"room": string,
"ownerId": string,
"creationTime": string,
"updateTime": string,
"enrollmentCode": string,
"courseState": enum (CourseState),
"alternateLink": string,
"teacherGroupEmail": string,
"courseGroupEmail": string,
"teacherFolder": {
object (DriveFolder)
},
"courseMaterialSets": [
{
object (CourseMaterialSet)
}
],
"guardiansEnabled": boolean,
"calendarId": string
}
}
],
"nextPageToken": string
}
因此,如果您只需要 name
和 id
字段,您的 fields
查询应该是 "courses(id,name)"
.