Javascript 获取谷歌分析Api响应

Javascript 获取谷歌分析Api响应,javascript,google-api,google-oauth,google-analytics-api,google-api-js-client,Javascript,Google Api,Google Oauth,Google Analytics Api,Google Api Js Client,我试图返回GAAPI响应,但出现了身份验证错误,我不知道为什么。我到目前为止所做的事情就在下面 <meta name="google-signin-client_id" content="MY_CLIENT_ID"> <meta name="google-signin-scope" content="https://www.googleapis.com/auth/analytics.readonly"> <script src="https://apis.goog

我试图返回
GA
API响应,但出现了身份验证错误,我不知道为什么。我到目前为止所做的事情就在下面

<meta name="google-signin-client_id" content="MY_CLIENT_ID">
<meta name="google-signin-scope" content="https://www.googleapis.com/auth/analytics.readonly">

<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>
<script src="https://apis.google.com/js/client:platform.js"></script>
但最终它捕获了一个AUTH错误。事情是这样的。我已经在
console.developers.google.com/api/credentials?
中创建了一个
OAuth 2.0客户端ID
凭据,并在meta中使用该
客户端ID

错误是:

“消息”:“请求缺少所需的身份验证凭据。 预期OAuth 2访问令牌、登录cookie或其他有效 身份验证凭据

我好像遗漏了什么?我该如何解决这个问题

请求缺少必需的身份验证凭据。需要OAuth 2访问令牌、登录cookie或其他有效身份验证凭据

您似乎已经设置了客户端ID。要考虑的下一个最合理的逻辑是错误的,即您的凭据有错误。要么您复制了客户端ID不正确,要么您创建了错误的类型。 我相信这是您的客户的设置问题。如果您查看教程

正如您所看到的,您需要创建类型Web应用程序。根据您的注释,您已经创建了类型other,这将不起作用,因为它用于已安装的应用程序

请求缺少必需的身份验证凭据。需要OAuth 2访问令牌、登录cookie或其他有效身份验证凭据

您似乎已经设置了客户端ID。要考虑的下一个最合理的逻辑是错误的,即您的凭据有错误。要么您复制了客户端ID不正确,要么您创建了错误的类型。 我相信这是您的客户的设置问题。如果您查看教程


正如您所看到的,您需要创建类型Web应用程序。根据您的评论,您创建的类型“其他”将不起作用,因为它用于已安装的应用程序。

请编辑您的问题并包含完整的错误消息。捕获身份验证错误。没有足够的信息确切说明您正在获取的身份验证错误。@Tay,可能是您正在使用的访问令牌已过期或无效。@VijayaVarmaLanke客户端库应通过再次请求授权来处理该问题。@DaImTo我用错误消息更新了问题。我将再次检查您的客户端id,然后从Google开发者控制台再次获取它。听起来您复制了错误。请确保它是正确的类型也正确。Web应用程序。请编辑您的问题并包含完整的错误消息。捕获身份验证错误。没有足够的信息确切说明您正在获取的身份验证错误。@Tay,可能是您使用的访问令牌已过期或无效。@VijayaVarmaLanke客户端库应通过请求授权来处理此问题。@VijayaVarmaLanke再次打开。@DaImTo我用错误消息更新了问题,我会再次检查你的客户端id,从Google开发者控制台再次获取。听起来你复制的不正确。请确保它的类型正确。Web应用程序。谢谢你的回答,在评论中,我的意思是:我创建了Web应用程序类型。但我没有得到任何result,所以我也尝试了
Other
…这并不意味着我没有创建Web应用类型…你是否没有得到任何结果,或者你是否得到了两个不同的错误。没有结果意味着没有你为已通过身份验证的用户提出的请求的数据,这并不意味着你的代码有问题。键入Other w我不会使用JavaScript,因为它不是C#或java之类的已安装编程语言。你不会在计算机上运行它。它将托管在浏览器中运行的web服务器上。这就是为什么你需要使用web应用程序类型。谢谢你的回答,在评论中,我的意思是:我创建了web应用程序类型。但我没有得到任何结果,所以我也尝试了
Other
…这并不意味着我没有创建Web应用类型…你是否没有得到任何结果,或者你是否得到了两个不同的错误。没有结果意味着你为你已验证的用户所做的请求没有数据,这并不意味着你的代码有问题。键入Other将不起作用由于JavaScript不像C#或java那样是一种已安装的编程语言,因此您将无法在计算机上运行它。它将托管在浏览器中运行的web服务器上。这就是为什么您需要使用web应用程序类型。
queryReports() {
    gapi.client.request({
        path: '/v4/reports:batchGet',
        root: 'https://analyticsreporting.googleapis.com/',
        method: 'POST',
        body: {
            reportRequests: [{
                viewId: "82708385",
                dateRanges: [{
                        startDate: '7daysAgo',
                        endDate: 'today'
                    }],
                metrics: [{
                        expression: 'ga:sessions'
                }]
            }]
        }
    })
    .then(res => {
        console.log(res.result)
    })
    .catch(err => {
        console.log(err)
    })
},