php - 如何在不使用 OAuth2 或永久 key 的情况下在 PHP 中使用 BigQuery streaming insertall?

标签 php google-bigquery google-api-php-client

如何在不使用 oauth2 或使用永久 key 的情况下使用 bigquery streaming insertall 从服务器到服务器?

我需要每分钟一对一地插入大约 20,000 行。我看到的所有示例都使用带有 oauth 的 Google api 客户端。另一方面,在 BigQuery API 资源管理器中:

(https://developers.google.com/bigquery/docs/reference/v2/tabledata/insertAll)

我看到这个 url POST:

https://www.googleapis.com/bigquery/v2/projects/projectId/datasets/datasetId/tables/tableId/insertAll?key=apikey

我可以创建一个服务器 key ,但它会返回一个需要登录的注释。是否可以在不为每个插入执行请求 token 的情况下发送大量插入?请注意,我使用的是 PHP。

最佳答案

OAuth2 访问 token 的有效期大约为一个小时;如果你使用它,你就不需要为每个插入物都买一个新的。 PHP 客户端应管理 token 并在 token 过期时请求一个新 token 。

另一种选择是使用服务帐户或 PKS#12 身份验证。这需要签署您的请求,但根本不需要访问 token 。请参阅文档 here .这些示例是用 java 和 python 编写的,但是 python 应该相对容易转换为 PHP。

关于php - 如何在不使用 OAuth2 或永久 key 的情况下在 PHP 中使用 BigQuery streaming insertall?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096061/

相关文章:

php - filter_var($url, FILTER_VALIDATE_URL) 在 PHP 5.3.2 中表现怪异

google-bigquery - 哪些用户正在访问 BigQuery 表

f# - BigQuery API 权限不足异常

google-app-engine - 为什么 Google Storage API 不能与 Amazon SDK v3 一起使用?

php - Google+ 身份验证 : refreshToken() returns invalid_grant error

php - Flex json 自动更新数据网格

php - 队列 worker 的 Laravel 异常处理程序

php - 如何接受用于显示目的的编程代码输入?

google-bigquery - 如何使用第一行的列名将 CSV 导入 BigQuery?

google-api-php-client - YouTube API v3 - 直接上传到自己的 channel