0

サンプルコードは次から取得しました。

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 フォーム アプリケーション内に配置しました。このアプリケーションは、使用しているライブ サーバーを除いて、私が試した他のすべてのマシンで問題なく動作します。これは、これがある種のセキュリティソフトウェア/ファイアウォールの問題であると私に思わせます...

何か案は?!

4

2 に答える 2

2

まったく同じ問題がありました。2段階認証を有効にすることで解決しました。ここの記事で言及

この記事を要約すると、次のようになります。

  1. https://support.google.com/accounts/answer/180744
  2. 2 段階認証を有効にする
  3. あなたの情報を入力してください
  4. アプリ名を入力してください
  5. アプリ パスワードを生成する
  6. コード内のパスワードを置き換えます

幸運を :)

于 2014-06-23T01:54:36.647 に答える