writecrow / basecamp_api
Basecamp API v3 的 Drupal 集成
1.1.0
2023-07-09 01:18 UTC
Requires
- composer/installers: ^1 || ^2
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)。
- 使用将要提供集成的用户 ID 登录 Basecamp(在大多数情况下,这应该被识别为非人类账户,以便人们知道执行的操作是由 Drupal 集成触发的)。
- 访问 https://launchpad.37signals.com/integrations 并使用授权对话框生成一个一次性代码。
- 用这个代码换取一个 长期访问令牌和刷新令牌
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
- 将这些令牌设置在 Drupal 的不可配置导出状态 API 中
vendor/bin/drush state:set basecamp_api_refresh_token <your token>
vendor/bin/drush state:set basecamp_api_access_token <your token>
- 重要:默认情况下,此令牌将通过 cron 自动刷新,以防止开发环境意外使生产环境中的访问令牌无效。为了在生产环境中定期刷新令牌,请将以下内容添加到您的
settings.php
或等效文件中
$settings['basecamp_api_do_refresh'] = TRUE;