我正在尝试从我们的网络应用程序中使用 google data studio apis。
我设置了一个本地网络服务器,它在 localhost:8081
处返回 html file(我更新了从我们的凭据控制台获得的 apikey 和客户端 ID。)
部分代码:
var apiKey = 'AXXX';
var discoveryDocs = ["https://datastudio.googleapis.com/$discovery/rest?version=v1"];
var clientId = 'XXX.apps.googleusercontent.com';
var scopes = 'https://www.googleapis.com/auth/datastudio https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid';
function makeApiCall() {
gapi.client.request({
'path': 'https://datastudio.googleapis.com/v1/assets:search?assetTypes=Report',
}).then(function(resp) {
console.log(resp);
});
}
一些设置:
Gsuite 管理员为我们的应用授予以下范围:
openid
但我仍然有错误:
Request URL: https://content-datastudio.googleapis.com/v1/assets:search?assetTypes=REPORT&key=<key>
Request Method: GET
Status Code: 403
回复:
www-authenticate: Bearer realm="https://accounts.google.com/", error="insufficient_scope", scope="https://www.googleapis.com/auth/datastudio.readonly https://www.googleapis.com/auth/datastudio"
{
"error": {
"code": 403,
"message": "Request had insufficient authentication scopes.",
"status": "PERMISSION_DENIED"
}
}