You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用androidmanagement.signupUrls.create接口出现403权限拒绝错误

Android Management API调用403权限错误排查及旧认证库迁移说明

403 PERMISSION_DENIED错误解决

错误信息

code: 403
message: "调用者无权管理项目。"
status: "PERMISSION_DENIED"

排查步骤

  • 检查账号权限:登录Google Cloud控制台,确认当前登录账号拥有目标项目的Android Management Service Admin角色,或者至少具备androidmanagement.signupUrls.create具体权限。
  • 核对项目ID:确保调用接口时传入的projectId和Google Cloud控制台内的项目ID完全一致,避免拼写错误。
  • 验证OAuth客户端配置:在Google Cloud控制台的OAuth 2.0客户端ID设置中,检查客户端类型、授权域名等配置是否合规,同时确认Android Management API已启用。
  • 等待权限生效:若刚为账号添加权限,可能需要等待数分钟让权限同步完成后再重试。

调用代码示例(替换占位符后使用)

<script src="https://apis.google.com/js/api.js"></script>
<script>
  /**
   * Android Management API signupUrls.create 示例代码
   */

  function authenticate() {
    return gapi.auth2.getAuthInstance()
        .signIn({scope: "https://www.googleapis.com/auth/androidmanagement"})
        .then(() => console.log("登录成功"),
              err => console.error("登录错误", err));
  }
  function loadClient() {
    gapi.client.setApiKey("你的API密钥");
    return gapi.client.load("https://androidmanagement.googleapis.com/$discovery/rest?version=v1")
        .then(() => console.log("GAPI客户端加载完成"),
              err => console.error("GAPI客户端加载失败", err));
  }
  // 必须等客户端加载完毕且登录成功后再调用此方法
  function execute() {
    return gapi.client.androidmanagement.signupUrls.create({
      "callbackUrl": "你的回调地址",
      "projectId": "你的项目ID"
    })
        .then(response => console.log("响应结果", response),
              err => console.error("执行错误", err));
  }
  gapi.load("client:auth2", () => {
    gapi.auth2.init({client_id: "你的客户端ID"});
  });
</script>
<button onclick="authenticate().then(loadClient)">授权并加载</button>
<button onclick="execute()">执行调用</button>

旧认证库迁移提示

你创建的客户端应用使用的认证/授权库即将被废弃,新开发的客户端必须使用新库,现有客户端需要在废弃截止前完成迁移,请参考官方迁移指南。

内容的提问来源于stack exchange,提问作者chitaranjan pradhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 21:20:43