谷歌广告 API 集成

Posted

技术标签:

【中文标题】谷歌广告 API 集成【英文标题】:Google Ads API Integration 【发布时间】:2021-01-21 14:35:42 【问题描述】:

与我合作的公司有许多使用 Google Ads 为其网站进行营销的客户。该公司希望使用客户的数据进行分析。 我得到了一个项目,使用 C# 集成 Google Ads API,以从 Google 广告中获取所有数据,例如广告系列等,并将其移动到我们的每个客户的系统中。 我只获得了客户的开发人员令牌和客户 ID。 比如

    客户 A 的客户 ID 客户 B 的客户 ID

当我浏览 google ads API 文档时,我有点迷茫。在文档中,需要创建 OAuth2.0 以使用客户端库,该库将生成客户端 ID 和客户端密钥,刷新令牌以集成 API。 我的问题是。我需要为每个客户创建 OAuth2.0,还是需要我的公司在公司的经理帐户中生成客户 ID 和密码,或者使用 Google 广告的客户会为我提供这些?

我发现以下链接用于创建 OAuth2。

https://developers.google.com/google-ads/api/docs/oauth/cloud-project

这是我认为在 C# 中需要的 内容可以在https://developers.google.com/adwords/api/docs/guides/first-api-call#.net_1找到

如果有人可以帮助我使用 C# 配置谷歌广告的实际需要,将不胜感激

【问题讨论】:

【参考方案1】:

如果您的公司经理帐户是相关客户帐户的经理,您只需使用您的开发人员令牌、客户 ID 和密码进行经理帐户身份验证。这样就可以访问经理帐号下关联的所有客户的广告数据。

例如调用 Google Ads API CustomerService > ListAccessibleCustomers 会返回经过身份验证的客户端可以访问的客户列表。

在您说要创建控制台应用程序的 cmets 之外:

您问题中的链接说在以下情况下使用桌面应用程序:

您使用单一顶部管理所有 Google Ads 帐户 级别经理帐户。您是第一次使用,或想获得 以最简单的设置快速开始。您的应用程序只会 在一台机器上对 Google 用户进行身份验证。

因此,在这种情况下,需要使用链接所需客户帐户的经理帐户。见OAuth desktop application flow。

如果您使用 Web 应用程序,客户端可以登录,您的应用程序可以读取他们的刷新令牌并将其存储在数据库中,以便将来为他们的帐户调用 api。

【讨论】:

感谢@JMP,但是当您转到经理帐户时,系统会要求您创建项目并将 uri 添加到授权重定向 URI,那里的 uri 应该是什么? 这是一个完全不同的问题 - 这是一个 url,Google 身份验证服务器将在身份验证后返回其响应,即您处理响应的应用程序的 url.. 感谢@JMP 的回复。在这种情况下,我正在创建控制台应用程序来集成帐户,我需要选择桌面应用程序作为应用程序类型吗? 我只将它与网络应用程序一起使用,但是控制台应用程序符合桌面应用程序(已安装的应用程序)的 Google api 描述。 非常感谢@JMP。只是最后一个,如果我们需要在没有经理帐户的情况下整合单个客户,我们必须与客户交谈以使用他们自己的帐户生成客户 ID 和密码?并且还需要客户的开发者令牌?【参考方案2】:

您只需要在 Google 控制台中创建一个应用程序并为其设置一个 Client ID 和 Client Secret。

使用一组凭据,您可以通过OAuth flow 与每个用户一起获取每个用户的访问令牌和刷新令牌。访问令牌以及您的开发人员令牌将使您能够访问授予您权限的用户的 AdWords API。

您需要您的开发者令牌和您的用户的访问令牌才能访问 AdWords API。

如果您对 OAuth 不太熟悉,可以查看像 Xkit(我工作的地方)这样的托管提供商。他们有一步一步的instructions for accessing the Google AdWords API,包括如何生成凭据以及如何使用它们。

【讨论】:

以上是关于谷歌广告 API 集成的主要内容,如果未能解决你的问题,请参考以下文章

如何将 azure 广告集成到在 azure 中也使用 REST API 的 React Web 应用程序

iOS CallKit 广告集成

谷歌地图 api 与 jquery 幻灯片的集成存在动画故障

获取选择选择器意图谷歌驱动器文件文件没有谷歌驱动器Api集成Android

Adwords Java 集成

谷歌测试广告加载失败