我从以下网站获取了示例代码:
https://developers.google.com/shopping-content/developers-guide-dotnet
ContentForShoppingService service =
new ContentForShoppingService("ContentForShopping-Sample");
service.setUserCredentials(GoogleUsername, GooglePassword);
service.AccountId = GoogleAccountID;
的示例代码
我正在使用Google Merchant电子邮件地址/密码和上面的商家ID。然后我使用以下方式找到我们的产品之一:
entry = service.Get("en", "gb", ProductID);
这在我的本地服务器上运行正常。然后,我可以通过操作其属性来更新产品,然后调用:
service.Update(entry);
现在,问题是当我在我们的实时服务器上运行它时,它失败了:
Exception Details:
Google.GData.Client.InvalidCredentialsException: Invalid credentials
在一台PC上而不在另一台PC上使用相同凭据的原因是什么?
我应该使用其他方法提交凭据吗?我发现替代方法令人困惑,我找不到其他专门用于ContentForShoppingService
的示例代码。
更新
我已经使用了相同的代码并将其放在Windows窗体应用程序中。除了我们使用的实时服务器之外,此应用程序在我尝试过的所有其他计算机上运行良好。这会让我觉得这是某种安全软件/防火墙问题......
有什么想法吗?!
答案 0 :(得分:2)
我有完全相同的问题,我通过启用两步验证解决了这个问题。在文章here
中提到总结一下这篇文章,转到:
答案 1 :(得分:1)
通过以下方式解决了这个问题:
https://security.google.com/settings/security/activity?hl=en_GB
Google似乎试图了解您的应用可以使用哪些IP地址。尽管我说被阻止的地址很好,但它们仍被阻止。
解决方案是转到实时服务器,在那里打开浏览器,然后在那里登录Google帐户。由于您是在该IP地址实际登录,因此Google知道该地址不可疑。