Google Adwords OAuth“错误”:“invalid_client”异常
Posted
技术标签:
【中文标题】Google Adwords OAuth“错误”:“invalid_client”异常【英文标题】:Google Adwords OAuth "error" : "invalid_client" exception 【发布时间】:2016-05-12 13:59:01 【问题描述】:我继承了一个 google adwords 项目,该项目使用 OAuth 2.0 for Installed Applications 连接到 google adwords API。
我在第一个障碍上摔倒了;我已经从 github 下载了以下示例项目;
https://github.com/googleads/googleads-dotnet-lib/tree/master/examples/AdWords/CSharp/OAuth
当我按照指示将所有详细信息放入 web.config 时,它不起作用。 我已经加入了;
开发者令牌 客户 ID 刷新令牌。这对我来说是全新的,我的理解是,当使用刷新令牌时,应用程序应该获得一个新的访问令牌并允许访问 API。
上图显示了示例应用界面,当我点击“获取广告系列”链接时收到异常消息;
Google.Api.Ads.Common.Lib.AdsOAuthException was caught
HResult=-2146233088
Message=Failed to refresh access token.
"error" : "invalid_client"
Source=Google.Ads.Common
StackTrace:
at Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessTokenInOfflineMode()
at Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessToken()
at Google.Api.Ads.Common.Lib.OAuth2ProviderBase.RefreshAccessTokenIfExpiring()
at Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessTokenIfExpiring()
at Google.Api.Ads.Common.Lib.OAuth2ProviderBase.GetAuthHeader()
at Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.GetAuthHeader()
at Google.Api.Ads.AdWords.Lib.AdWordsSoapClient.InitForCall(String methodName, Object[] parameters)
at Google.Api.Ads.Common.Lib.AdsSoapClient.MakeApiCall(String methodName, Object[] parameters)
at Google.Api.Ads.Common.Lib.AdsSoapClient.Invoke(String methodName, Object[] parameters)
at Google.Api.Ads.AdWords.v201601.CampaignService.get(Selector serviceSelector)
at Google.Api.Ads.AdWords.Examples.CSharp.OAuth.Default.OnGetCampaignsButtonClick(Object sender, EventArgs eventArgs) in c:\Adwords\examples\AdWords\CSharp\OAuth\Default.aspx.cs:line 130
InnerException:
应用程序在以前的应用程序中使用这些凭据,似乎没有问题。
我已经到处搜索了这个问题的答案,异常说访问令牌无法刷新,但模棱两可的推理并没有太大帮助。
有人可以提供任何进一步的见解吗?
非常感谢。
【问题讨论】:
【参考方案1】:您应该在 webconfig 中设置 OAuth2ClientId 和 OAuth2ClientSecret 值。
<add key="OAuth2ClientId" value="your client id"/>
<add key="OAuth2ClientSecret" value="your client secret"/>
您可以从 https://console.developers.google.com/project
提供 OAuth2 客户端 ID 和密码。您可以从创建一个 https://console.developers.google.com/project。看 https://developers.google.com/identity/protocols/OAuth2WebServer 了解更多详情。
【讨论】:
以上是关于Google Adwords OAuth“错误”:“invalid_client”异常的主要内容,如果未能解决你的问题,请参考以下文章
使用 OAuth 创建 google adwords API 应用程序
如何将 OAuth 与 Google AdWords / AdSense API 一起使用?
最新的 Google Adwords oAuth API 实施