サンプルコードは次から取得しました。
https://developers.google.com/shopping-content/developers-guide-dotnet
ContentForShoppingService service =
new ContentForShoppingService("ContentForShopping-Sample");
service.setUserCredentials(GoogleUsername, GooglePassword);
service.AccountId = GoogleAccountID;
https://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/samples/contentforshopping_sample/contentforshoppingsample.cs?r=1067のサンプル コードも使用しました。
上記の場合、Google Merchant のメール アドレス/パスワードと Merchant ID を使用しています。次に、以下を使用して製品の 1 つを見つけます。
entry = service.Get("en", "gb", ProductID);
これは私のローカルサーバーで正常に動作します。次に、プロパティを操作して次のように呼び出して、製品を更新できます。
service.Update(entry);
問題は、ライブサーバーでこれを実行すると、次のように失敗することです。
Exception Details:
Google.GData.Client.InvalidCredentialsException: Invalid credentials
同じ資格情報が 1 つの PC で機能し、別の PC では機能しない理由は何ですか?
資格情報を送信するために別の方法を使用する必要がありますか? 別の方法は当惑するものであり、特に .NET で動作するサンプル コードは他にありませんでしたContentForShoppingService
。
- ローカル PC は Windows 7 を実行しています
- 問題のあるライブ サーバーが Windows Server 2008 R2 を実行している
アップデート
同じコードを取得して、Windows フォーム アプリケーション内に配置しました。このアプリケーションは、使用しているライブ サーバーを除いて、私が試した他のすべてのマシンで問題なく動作します。これは、これがある種のセキュリティソフトウェア/ファイアウォールの問題であると私に思わせます...
何か案は?!