【发布时间】:2018-12-31 08:49:50
【问题描述】:
我正在开发一个使用谷歌 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;
}
我的问题出在服务器上,当我第一次尝试从谷歌获取数据时,页面进入无限循环。
我担心假设从谷歌帐户获得访问权限的选项卡正在服务器上打开,这就是为什么它会无限加载。
所以我的问题是,
首先,如果可能的话,如果是的话,我该如何解决?
其次,有更好的方法吗?
【问题讨论】:
-
您所有的文件 .json 都在您的服务器中?
-
是的,当然,我还注意到创建了响应令牌的文件夹但没有令牌。这就是为什么我怀疑它在服务器中打开了一个标签。
-
你检查了Web applications (ASP.NET MVC)的实现吗?
-
据我所知,这是为了授权 google 用户登录,我只需要使用我自己的 google 帐户来获取日历信息。
标签: c# .net asp.net-mvc google-api google-calendar-api