After successful signin and gapiloaded
below the error i get
code
:
403
message
:
"Caller is not authorized to manage project."
status
:
"PERMISSION_DENIED"
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for androidmanagement.signupUrls.create
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/code-samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/androidmanagement"})
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("YOUR_API_KEY");
return gapi.client.load("https://androidmanagement.googleapis.com/$discovery/rest?version=v1")
.then(function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.androidmanagement.signupUrls.create({
"callbackUrl": "xxxxx",
"projectId": "xxxxxxx"
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: "YOUR_CLIENT_ID"});
});
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>
您创建了一个新的客户端应用程序,该应用程序使用库进行用户身份验证或授权,但很快就会被弃用。新客户端必须使用新库;在弃用这些库之前,现有客户端也必须进行迁移。有关详细信息,请参阅迁移指南。
如果您的项目ID(将拥有企业的谷歌云平台项目的ID(与登录的帐户不匹配,或反之亦然,则可能会出现此问题。另一种可能性是,您正在使用的Google云平台项目上可能尚未启用Android Management API。
请仔细检查您的云平台项目ID,以确保包括您的身份验证帐户并启用了正确的API。。
注意:旧的Google登录平台库
apis.google.com/js/platform.js
和Javascript的Google API客户端库gapi.client
不再支持用户身份验证和授权。它们已经被一个新的谷歌身份服务Javascriptaccount.google.com/gsi/client
所取代。
如果您正在构建基于服务器的解决方案,您可以创建一个服务帐户,这样您就不需要每次都授权访问。