我正在使用分析报告 API v4 (c#)。在我的本地机器上一切正常,但在网络服务器上却不行。
我已经在谷歌开发者控制台中为两个地址(' http://localhost:12345 '、' http://localhost:12345/Callback '和服务器上的实际域)设置了一个 OAuth 2.0 客户端 ID: ' http : //example.com'、'http: //example.com/Callback ')
我认为该错误与我的代码无关。而且我还从在线资源中读取了我的 json,因此它与用户读/写问题无关。我已经在生产服务器上的项目中设置了对文件夹 App_Data 的完全访问权限。这里是:
var path = Server.MapPath("~/App_Data");
var client = new WebClient();
var stream = client.OpenRead(https://api.myjson.com/bins/blahblah987654);
var loginEmailAddress = ConfigurationManager.AppSettings["AnalyticsReporting.Email"];
return await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { AnalyticsReportingService.Scope.Analytics },
loginEmailAddress, CancellationToken.None,
new FileDataStore(path, fullPath: true));
在我的本地计算机上,在此行创建了一个文件:new FileDataStore(path, fullPath: true));
但不在服务器上(即使我对 App_Data 文件夹设置了完全权限)。如果我手动将文件从本地复制到生产环境,当包含上述代码的 url 被点击时,它会被删除。