writecrow/basecamp_api

Basecamp API v3 的 Drupal 集成

安装: 60

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:drupal-module

1.1.0 2023-07-09 01:18 UTC

This package is auto-updated.

Last update: 2024-09-09 04:12:01 UTC


README

这是一个 Drupal 模块,简化了使用 [Basecamp API v3](https://github.com/basecamp/bc3-api) 的过程。

作为一个集成模块,它简化了 Basecamp 终端之间的交易,并只需要简单的编码即可实现。

在创建授权应用并存储初始访问令牌和刷新令牌后,该模块将通过每天运行一次的 cron 作业来续订令牌。

完成设置后,执行操作,如创建新的待办事项,就像这样

$data = [
  'content' => $title,
  'description' => $message,
  'due_on' => date('Y-m-d', strtotime('+7 days')),
  'notify' => TRUE,
  'assignee_ids' => [1,2,3],
];
$project = $config->get('project');
$list = $config->get('list');
  
Basecamp::createTodo($project, $list, $data);

正确设置和配置刷新令牌

在此阶段,创建初始访问和刷新令牌是开发者的职责(实际上非常简单,请参阅 https://github.com/basecamp/api/blob/master/sections/authentication.md)。

  1. 使用将要提供集成的用户 ID 登录 Basecamp(在大多数情况下,这应该被识别为非人类账户,以便人们知道执行的操作是由 Drupal 集成触发的)。
  2. 访问 https://launchpad.37signals.com/integrations 并使用授权对话框生成一个一次性代码。
  3. 用这个代码换取一个 长期访问令牌和刷新令牌
curl -X POST -d "type=web_server&client_id=your-client-id&redirect_uri=your-redirect-uri&client_secret=your-client-secret&code=verification-code" https://launchpad.37signals.com/authorization/token
  1. 将这些令牌设置在 Drupal 的不可配置导出状态 API 中
vendor/bin/drush state:set basecamp_api_refresh_token <your token>
vendor/bin/drush state:set basecamp_api_access_token <your token>
  1. 重要:默认情况下,此令牌将通过 cron 自动刷新,以防止开发环境意外使生产环境中的访问令牌无效。为了在生产环境中定期刷新令牌,请将以下内容添加到您的 settings.php 或等效文件中
$settings['basecamp_api_do_refresh'] = TRUE;