Javascript Google Analytics嵌入API服务器端授权,不使用C呈现图表#

Javascript Google Analytics嵌入API服务器端授权,不使用C呈现图表#,javascript,c#,asp.net-mvc,google-analytics,google-oauth,Javascript,C#,Asp.net Mvc,Google Analytics,Google Oauth,我试图在C#中使用服务器端授权来呈现图表,但我无法做到这一点 谷歌有一个例子,但基于Python,我需要基于C#MVC构建: 我已经创建了服务帐户并下载了JSON文件: 控制器 public class StatsController : Controller { // GET: Stats public async Task<ActionResult> Index() { var json = "C:\\temp\\client_secre

我试图在C#中使用服务器端授权来呈现图表,但我无法做到这一点

谷歌有一个例子,但基于Python,我需要基于C#MVC构建:

我已经创建了服务帐户并下载了JSON文件:

控制器

public class StatsController : Controller
{
    // GET: Stats
    public async Task<ActionResult> Index()
    {
        var json = "C:\\temp\\client_secrets.json";

        string[] scopes = new string[] { AnalyticsReportingService.Scope.AnalyticsReadonly }; // Put your scopes here

        var stream = new FileStream(json, FileMode.Open, FileAccess.Read);

        var credential = GoogleCredential.FromStream(stream);
        credential = credential.CreateScoped(scopes);

        try
        {
            Task<string> task = ((ITokenAccess)credential).GetAccessTokenForRequestAsync();
            task.Wait();
            var bearer = task.Result;

            ViewBag.Token = bearer;
        }
        catch (AggregateException ex)
        {
            throw ex.InnerException;
        }

        return View();
    }
}
公共类StatsController:控制器
{
//获取:统计数据
公共异步任务

细部


我终于让它运行了,a必须做的唯一一件事(经过数小时的研究)就是从access中删除{{}令牌:属性:

    gapi.analytics.ready(function () {

        gapi.analytics.auth.authorize({
            serverAuth: {
                access_token: '@ViewBag.Token'
            }
        });
    });
我现在可以在没有用户登录的情况下获得谷歌分析图表:


而且没有任何控制台错误。

我不担心令牌会有所不同。你能发布完整的401错误吗?嗨,谢谢!请用detail@DaImToprintscreen对您有帮助吗?实际上没有。这不是完整的错误消息。请尝试获取访问令牌并在浏览器中使用Http get进行测试,然后尝试元数据ap我只是想试试access\u token=YourToken对不起,我是怎么做到的?我需要你的帮助。我正在尝试做同样的事情。但我总是有登录所需的错误。谢谢你。我该死的事情成功了。两天后。谷歌讨厌.net。我一直在尝试使用与你完全相同的代码。我的问题是服务ac的电子邮件count没有添加到analytics帐户。是的,先生。我不知道为什么它没有给我正确的令牌。我的代码与您的代码几乎相同。然后我复制了您的代码,发现analytics需要服务帐户电子邮件。
    gapi.analytics.ready(function () {

        gapi.analytics.auth.authorize({
            serverAuth: {
                access_token: '@ViewBag.Token'
            }
        });
    });