# @bonniernews/bn-google-ad-manager-api 中文文档

规范地址：https://npmcn.com/package/%40bonniernews/bn-google-ad-manager-api/

版本：1\.1\.1
npm 元数据更新时间：2026-10-05T09:06:22.712Z
中文译文更新时间：2026-11-08T11:04:49.060Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bonniernews/bn-google-ad-manager-api
原文对照：https://npmcn.com/package/%40bonniernews/bn-google-ad-manager-api/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：11.8 kB，11 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2023-11-14T14:58:36.877Z
- 最新版本发布：2026-10-05T09:06:22.513Z
- 近 30 天下载量：2380（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 2 个）

## 中文简介

这回波是叉子 [https://github.com/thewizarodofoz/google-ad-manager-api 页面存档备份,存于互联网档案馆](https://github.com/thewizarodofoz/google-ad-manager-api) 为不同的游戏服务更新依赖性、功能并添加打字功能.

## 安装

```sh
npm install @bonniernews/bn-google-ad-manager-api
```

也可以使用：`pnpm add @bonniernews/bn-google-ad-manager-api`、`yarn add @bonniernews/bn-google-ad-manager-api`、`bun add @bonniernews/bn-google-ad-manager-api`

## README

这回波是叉子 [https://github.com/thewizarodofoz/google-ad-manager-api 页面存档备份,存于互联网档案馆](https://github.com/thewizarodofoz/google-ad-manager-api) 为不同的游戏服务更新依赖性、功能并添加打字功能.

我们试图保持整体结构的完整,但出于可读性原因,我们把授权移到自己的一步. 检出第2步为更改,第3步为去除代码.

# BN Google 代理管理器节点 Api

谷歌的现代包装 [代理经理 API](https://developers.google.com/ad-manager/docs/start)。 。 。 .

## 特征

-   基于承诺-使用承诺或同步/等待
-   对认证机制没有意见
-   已打入( TypeScript-ish)

## 安装

```bash
npm i @BonnierNews/bn-google-ad-manager-api
```

## 使用量

### 步骤一

以任何你喜欢的方式获取访问符,例如使用 [谷歌 Auth 库](https://github.com/google/google-auth-library-nodejs)是因为 [JSON 网络键](https://github.com/google/google-auth-library-nodejs#json-web-tokens) 机制:

```ts
const { auth } = require("google-auth-library");

const keys = {
  type: "service_account",
  project_id: "...",
  private_key_id: "...",
  private_key: "...",
  client_email: "...",
  client_id: "...",
  auth_uri: "https://accounts.google.com/o/oauth2/auth",
  token_uri: "https://oauth2.googleapis.com/token",
  auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
  client_x509_cert_url: "...",
};

const client = auth.fromJSON(keys);
client.scopes = ["https://www.googleapis.com/auth/dfp"];
await client.authorize();
```

### 步骤二:

创建客户端, 并授权它使用第 1 级的 Google 认证证书符号 :

```ts
import { DFPClient, GAMClient } from "@BonnierNews/bn-google-ad-manager-api";

// To maintain backwards compatability we keep the DFP client intact with the option to use our own client.
// Both have the same functions

const dfpClient = new DFPClient();
await dfpClient.authorize({ networkCode: "...", apiVersion: "v201805", accessToken: client.credentials.access_token });

// or with gamClient
const gamClient = new GAMClient();
await gamClient.authorize({ networkCode: "...", apiVersion: "v201805", accessToken: client.credentials.access_token });
```

### 步骤 三

使用客户端创建服务.

```ts
const lineItemService = await dfpClient.getService("LineItemService");

// or

const lineItemService = await gamClient.getService("LineItemService");
```

### 步骤4

启动服务方法:

```ts
const res = await lineItemService.getLineItemsByStatement({
  filterStatement: {
    query: "WHERE name LIKE 'prebid%'",
  },
});

console.log(res.results[0].id);
```

## 页:1

-   这个 [代理经理 API](https://developers.google.com/ad-manager/docs/rel_notes) 返回一个 `rval` 字段用于每种方法的引用. 为了方便我们,这个一揽子方案将恢复该领域的内容. 例如,援引 [`LineItemService.getLineItemsByStatement`](https://developers.google.com/ad-manager/docs/reference/v201805/LineItemService#getlineitemsbystatement) 将返回 a [`LineItemPage`](https://developers.google.com/ad-manager/docs/reference/v201805/LineItemService.LineItemPage) 对象直接.
-   Google 认证令牌有过期日期,需要以某种方式更新或刷新. 由于认证管理不属于此软件包的范畴, 请确保总是将新代号传递给使用 `service.setToken`。 。 。 .

## 常见问题

### @bonniernews/bn-google-ad-manager-api 是什么？

这回波是叉子 https://github\.com/thewizarodofoz/google-ad-manager-api 页面存档备份,存于互联网档案馆 为不同的游戏服务更新依赖性、功能并添加打字功能\.

### 如何安装 @bonniernews/bn-google-ad-manager-api？

在项目目录运行 npm install @bonniernews/bn-google-ad-manager-api，或使用 pnpm add / yarn add / bun add。

### @bonniernews/bn-google-ad-manager-api 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @bonniernews/bn-google-ad-manager-api 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @bonniernews/bn-google-ad-manager-api 可以商用吗？

@bonniernews/bn-google-ad-manager-api 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bonniernews/bn-google-ad-manager-api 的下载量有多少？

根据 npm 官方下载统计，@bonniernews/bn-google-ad-manager-api 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,380 次，日均约 79 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bonniernews/bn-google-ad-manager-api 还在维护吗？

最新版本 1\.1\.1 发布于 2026/10/05（1 个月前）；至今共发布 7 个版本，其中过去 12 个月发布了 2 个；首次发布于 2023/11/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

