Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Android Management API (androidmanagement v1): generated TS types missing googleAuthenticationOptions on EnrollmentToken and SigninDetail

未关闭
#3,927 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
76/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
冷清
技术栈
typescript
领域
api

调研方向

从 discovery/androidmanagement-v1.json 开始,将其与实时的 Android Management API v1 Discovery 文档进行比较,然后检查 src/apis/androidmanagement/v1.ts 和生成的 build/v1.d.ts。刷新 Discovery 快照并重新运行生成器;当缺失的 schema 以及 googleAuthenticationOptions 的两个属性都出现在生成的类型中时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

Summary

The generated TypeScript types for the Android Management API (androidmanagement, version v1) are missing the googleAuthenticationOptions field and its backing schemas. These exist in the live Discovery document but not in the checked-in discovery snapshot, so the generated Schema$* interfaces are out of date.

Package / source

  • Split package: @googleapis/[email protected] (current latest)
  • Also affects googleapis (aggregate) — both are generated from src/apis/androidmanagement/v1.ts in this repo.

What is missing

In src/apis/androidmanagement/v1.ts (and the published build/v1.d.ts):

  1. Schema$EnrollmentToken is missing the property googleAuthenticationOptions?: Schema$GoogleAuthenticationOptions.
  2. Schema$SigninDetail is missing the property googleAuthenticationOptions?: Schema$SigninDetailGoogleAuthenticationOptions.
  3. The interface Schema$GoogleAuthenticationOptions is not generated at all (fields: authenticationRequirement enum AUTHENTICATION_REQUIREMENT_UNSPECIFIED | OPTIONAL | REQUIRED, requiredAccountEmail string).
  4. The interface Schema$SigninDetailGoogleAuthenticationOptions is not generated at all (field: authenticationRequirement, same enum).

The only existing reference is a prose mention in the Schema$GoogleAuthenticationSettings description ("This value is overridden by EnrollmentToken.googleAuthenticationOptions and SigninDetail.googleAuthenticationOptions…"); the actual typed fields/schemas are absent.

Affected endpoints

  • androidmanagement.enterprises.enrollmentTokens.create — requestBody is Schema$EnrollmentToken; callers cannot set googleAuthenticationOptions without a type cast.
  • androidmanagement.enterprises.create / androidmanagement.enterprises.patch — Schema$Enterprise.signinDetails[] is Schema$SigninDetail, which lacks googleAuthenticationOptions.

Evidence

Live Discovery document (revision: 20260618):
https://androidmanagement.googleapis.com/$discovery/rest?version=v1

// schemas.EnrollmentToken.properties.googleAuthenticationOptions
{ "description": "Optional. Options related to Google authentication during the enrollment.", "$ref": "GoogleAuthenticationOptions" }

// schemas.SigninDetail.properties.googleAuthenticationOptions
{ "description": "Optional. Options related to Google authentication during the enrollment.", "$ref": "SigninDetailGoogleAuthenticationOptions" }

// schemas.GoogleAuthenticationOptions
{ "id": "GoogleAuthenticationOptions", "type": "object",
  "properties": {
    "authenticationRequirement": { "type": "string", "enum": ["AUTHENTICATION_REQUIREMENT_UNSPECIFIED","OPTIONAL","REQUIRED"] },
    "requiredAccountEmail": { "type": "string" }
  } }

// schemas.SigninDetailGoogleAuthenticationOptions
{ "id": "SigninDetailGoogleAuthenticationOptions", "type": "object",
  "properties": {
    "authenticationRequirement": { "type": "string", "enum": ["AUTHENTICATION_REQUIREMENT_UNSPECIFIED","OPTIONAL","REQUIRED"] }
  } }

The checked-in discovery/androidmanagement-v1.json on main does not contain any of the above (verified: all four are absent), which is why the generated types are stale.

Root cause / suggested fix

The repo's checked-in androidmanagement v1 discovery snapshot is out of date relative to the live Discovery doc. Refreshing the discovery document and re-running the generator should produce Schema$GoogleAuthenticationOptions, Schema$SigninDetailGoogleAuthenticationOptions, and the two missing properties.

Expected vs. actual

  • Expected: Schema$EnrollmentToken.googleAuthenticationOptions and Schema$SigninDetail.googleAuthenticationOptions are typed, matching the live Discovery doc.
  • Actual: Both properties and both schema interfaces are absent; consumers must cast (as) to send the field, even though the REST API accepts and honors it.
主要语言
TypeScript
星标
12.3k
派生
2k
平均合并
1 天 19 小时
30 天内合并 PR
21

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

googleapis/google-api-nodejs-client 的其他 Issue

查看 googleapis/google-api-nodejs-client 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。