我正在使用分析報告API v4(c#)。在我的本地機器上一切正常,但沒有在網絡服務器上生產。Google Analytics報告API - 無法在生產服務器上啓動瀏覽器
我已經設置了一個OAuth 2.0用戶端ID在谷歌開發者控制檯web應用到兩個地址(「http://localhost:12345」,‘http://localhost:12345/Callback’和服務器上的實際域:‘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文件夾)上。如果我手動將文件從本地複製到製作,當包含上述代碼的網址被擊中時,它將被刪除。
什麼是錯誤?你檢查過你的授權重定向URI嗎? – sdhaus
@sdhaus這是我得到的errorPage:https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&response_type=code&client_id=934254096895-8bt34v7n9qs3t0kjl04gan1arjb5kkb5.apps.googleusercontent.com&redirect_uri=http:%2F%2Flocalhost :55882%2Fauthorize%2F&範圍= HTTPS:%2F%2Fwww.googleapis.com%2Fauth%2Fanalytics。我不知道爲什麼它說:「請求中的重定向URI,http:// localhost:55882/authorize,與OAuth客戶端授權的不匹配」,我在開發人員控制檯中設置的唯一redirectUrs是http:// example.com和http://example.com/Callback? – user3228992
嘗試爲生產服務器創建新憑據。這是[最佳實踐](https://developers.google.com/identity/protocols/OAuth2#scenarios)prod/test/staging的客戶端憑據不同。這些改變還需要一段時間才能真正反映出來。希望這有助於 –