在托管服务器上授予对 Google API 的访问权限

我正在开发一个使用谷歌 API 从谷歌日历获取数据的网站,所以我从谷歌文档中获取了测试代码并对其进行了自定义。


当我在本地调试它时,一切正常,它打开了一个新选项卡,并要求像它应该的那样访问谷歌帐户。


这是我用于我得到的响应令牌的方法:


private static UserCredential GetCredential()

{

    UserCredential credential;

    var path = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, "App_Data/credentials.json");

    using (var stream =

        new FileStream(path, FileMode.Open, FileAccess.Read))

    {

        string credPath = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, ".credentials/calendar-access.json");


        credential = GoogleWebAuthorizationBroker.AuthorizeAsync(

            GoogleClientSecrets.Load(stream).Secrets,

            Scopes,

            "user",

            CancellationToken.None,

            new FileDataStore(credPath, true)).Result;

    }

    return credential;

}

我的问题出在服务器上,当我第一次尝试从谷歌获取数据时,页面进入无限循环。


我担心假设可以从谷歌帐户访问的选项卡正在服务器上打开,这就是为什么它会无限加载。


所以我的问题是,

首先,如果可能,如果可能,我该如何解决?

其次,有没有更好的方法呢?


繁星点点滴滴
浏览 177回答 1
1回答

拉风的咖菲猫

我找到了我想要的解决方案我按照这个链接这正是我要搜索的,它将令牌保存在内存中而不创建文件,还生成 URL 并涵盖 MVC 的所有内容
打开App,查看更多内容
随时随地看视频慕课网APP