0

私はアナリティクスレポートAPI v4(c#)を使用しています。私のローカルマシンでは、すべて正常に動作しますが、Webサーバー上では動作しません。GoogleアナリティクスレポートAPI - プロダクションサーバーでブラウザを起動できませんでした

私は両方のアドレス(「 http://localhost:12345」、 『 http://localhost:12345/Callback』と、サーバー上の実際のドメイン: 『 http://example.com』、「 http://example.com/Callback」)へのWebアプリケーションのためのGoogleの開発者コンソールでのOAuth 2.0クライアントIDを設定している

エラーが私のコードに接続されていないと思います。また、私はオンラインソースから自分の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がヒットしたときにファイルが削除されます。

+0

エラーは何ですか?許可されたリダイレクトURIを確認しましたか? – sdhaus

+0

@sdhausこれは私が取得したエラーページです: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%2%2F認証&スコープ= https:%2F%2Fwww.googleapis.com%2Fauth%2Fanalytics。私はそれが "要求のリダイレクトURI、http:// localhost:55882/authorize、OAuthクライアントのために許可されているものと一致しません"という理由を知らない。開発者コンソールで設定した唯一のredirectUrsはhttp:// example.comとhttp://example.com/Callback? – user3228992

+0

運用サーバー用の新しい資格情報を作成してみてください。 prod/test/stagingのクライアント資格情報が異なることがベストプラクティスです(https://developers.google.com/identity/protocols/OAuth2#scenarios)。変更が実際に反映されるまでには、いつかかかります。これが役に立ったらいいですか? –

答えて

0

すると、それは仕事を得るために、あなたはこのライブに行くために約15分を取ることができることhttp://localhost:55882/authorize/

注意を含めるようにconsole(エラーごとなど)、および更新し、あなたの認定リダイレクトURIを訪問する必要があります。

example.comとexample.com/Callbackを設定していますが、認証用にリダイレクトされている実際のURIはhttp://localhost:55882/authorize/であるというエラーが表示されます。

プロダクションでの認証方法をローカルホスト経由でリダイレクトしないでください。

+0

http:// localhost:55882/authorize /に認証しようとしている理由を理解できません。私はどこでもそのURLを使用していない.. – user3228992

関連する問題