Я пытаюсь использовать google analytics apis v3 для встраивания графа аналитики на свой сайт с помощью файла сертификата. Я получил его для работы на локальной машине, но когда я развожу код на свой веб-сервер, он вызывает эту ошибку:google analytics apis не работает в производстве
Удаленный сервер возвратил ошибку: (400) Плохой запрос.
Кто-нибудь знает, что вызывает это сообщение об ошибке, и почему я не могу получить график google на моем веб-сайте?
Вот код, который работает на моей локальной машине:
string scope = AnalyticsService.Scopes.AnalyticsReadonly.GetStringValue(),
x509Certificate2File = HttpContext.Current.Server.MapPath("~/App_Data/privatekey.p12"),
x509Certificate2FilePassword = "notasecret",
serviceAccountId = "[email protected]",
profileId = "ga:xxxxxxxx",
startDate = "2013-10-06",
endDate = "2013-11-07";
AuthorizationServerDescription desc = GoogleAuthenticationServer.Description;
X509Certificate2 key = new X509Certificate2(x509Certificate2File, x509Certificate2FilePassword, X509KeyStorageFlags.Exportable);
AssertionFlowClient client = new AssertionFlowClient(desc, key) { ServiceAccountId = serviceAccountId, Scope = scope };
OAuth2Authenticator<AssertionFlowClient> auth = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState);
AnalyticsService gas = new AnalyticsService(new BaseClientService.Initializer() { Authenticator = auth });
DataResource.GaResource.GetRequest request = gas.Data.Ga.Get(profileId, startDate, endDate, "ga:visits");
request.Dimensions = "ga:day";
request.MaxResults = 10;
/* error 400 occur here on the production */
Google.Apis.Analytics.v3.Data.GaData data = request.Execute();
Благодарности
Являетесь ли вы производственным сервером в другом часовом поясе? Если это так, это может испортить подпись. –
производство находится в том же часовом поясе, где я живу – Noob