Reminder: v201708 will be sunset on August 31, 2018.

身份验证

所有 DFP API 调用均必须通过 OAuth2 授权。OAuth2 是一种开放式标准,用户可通过它向第三方应用授予权限,以便相应应用能够代表用户与网络服务交互。借助 OAuth2,您的 DFP API 客户端应用就能够访问用户的 DFP 广告管理系统(以下简称 DFP)帐号,而无需处理或存储用户的用户名或密码。

生成 OAuth2 凭据

要生成 OAuth2 凭据,请执行以下步骤。

1. 确定身份验证类型

请查看下方表格,了解最适合您的 DFP API 应用的身份验证类型

选择您的 OAuth2 身份验证类型
服务帐号

如果您只需访问自己的 DFP 数据,请选择此选项。

了解详情。
网络应用

如果您想以授权您的应用访问其 DFP 数据的用户身份进行身份验证,请选择此选项。

了解详情。

2. 创建 OAuth2 凭据

确定身份验证类型之后,请点击下方的对应标签,然后按照相应说明生成 OAuth2 凭据:

服务帐号
  1. 打开 Google API 控制台凭据页面
  2. 从项目下拉菜单中,选择创建新项目,输入项目名称并根据需要修改提供的项目 ID。点击创建
  3. 在“凭据”页面上,选择创建凭据,然后选择服务帐号密钥
  4. 选择新的服务帐号,然后选择 JSON
  5. 点击创建以下载包含私钥的文件。
网络应用
  1. 打开 Google API 控制台凭据页面
  2. 从项目下拉菜单中,选择创建新项目,输入项目名称(并根据需要修改提供的项目 ID),然后点击创建
  3. 在“凭据”页面上,选择创建凭据,然后选择 OAuth 客户端 ID
  4. 在“同意”屏幕上,系统可能会提示您设置产品名称;若如此,请点击配置同意屏幕,提供要求的信息,然后点击保存以返回到“凭据”屏幕。
  5. 选择网络应用作为应用类型。按照说明输入 JavaScript 来源和/或重定向 URI。
  6. 点击创建
  7. 在随即显示的页面中,将客户端 ID客户端密钥复制到您的剪贴板,您在配置客户端库时需要用到这些信息。
有关客户端 ID 和客户端密钥的屏幕截图

3. 配置 DFP 广告联盟

如果您是第三方开发者,则可能需要将您的客户端设置为自动执行此步骤。

服务帐号
  1. 转到 DFP 广告联盟
  2. 点击管理标签。
  3. 确保 API 访问权限已启用。
  4. 点击添加服务帐号用户按钮。
  5. 在表单中填写服务帐号电子邮件。
  6. 点击保存按钮。此时,系统应该会显示一条消息,确认您的服务帐号已添加。
  7. 转到“用户”标签,然后点击服务帐号过滤条件,查看现有的服务帐号用户。
网络应用
  1. 转到 DFP 广告联盟
  2. 点击管理标签。
  3. 确保 API 访问权限已启用。

4. 配置和使用客户端库

要在客户端库中使用这些凭据,请遵循下文中的相应指南:

如果您选择不使用我们的任何客户端库,则需要自行实现 OAuth2 服务帐号网络应用流程。

后台揭秘

我们的客户端库会自动处理下述细节。如果您确实对后台情况感兴趣,请继续阅读。此部分仅面向已熟悉 OAuth2 规范且了解如何结合使用 OAuth2 和 Google API 的高级用户。

HTTP 请求标头

向 DFP API 发送的每项请求中的 HTTP 标头都必须包含以下形式的访问令牌:


  Authorization: Bearer ACCESS_TOKEN
    

例如:

  POST … HTTP/1.1
  Host: …
  Authorization: Bearer 1/fFAGRNJru1FTz70BzhT3Zg
  Content-Type: text/xml;charset=UTF-8
  Content-Length: …

<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"> … </soap:Envelope>

范围

同一个访问令牌可向多个 API 授予不同级别的访问权限。有一个称为 scope 的可变参数用于控制访问令牌允许访问的资源和执行的操作。在访问令牌请求期间,您的应用会在 scope 参数中发送一个或多个值。

DFP 只有一个范围(如下所示)。授权应在产品内的用户级别执行。

范围 权限
https://www.googleapis.com/auth/dfp 在 DFP 上查看和管理您的广告系列。

发送以下问题的反馈:

此网页
DoubleClick for Publishers API
DoubleClick for Publishers API
需要帮助?请访问我们的支持页面