TAPD 新开放平台 https://o.tapd.woa.com/ 支持多人管理、项目管理员自助授权、各种类型挂载点、应用市场等,能满足大部分接入到TAPD和调用TAPD API 接口的需要。在有些场景中,比如平台级系统,需要在这些系统中发起TAPD OAuth 授权,授权完成后,又跳转回这些系统中。这时候,就需要使用 TAPD OAuth 跳转模式。

# 创建开放平台应用

在 TAPD 创建好应用,并且根据应用所需要接口配置好应用权限。在应用管理首页获取到 应用ID(client_id)应用密钥(client_secret)enter image description here

# OAuth 对接过程

# 1. 配置 OAuth 跳转链接

在开放平台应用“安全配置”的“三方应用数据授权”添加回调 URL 白名单,可以添加多个。注意这个 URL 不能包含 #enter image description here

# 2. 拼接 OAuth 跳转 URL

# 格式

https://tapd.woa.com/oauth/open_app_install?test=1&show_installed=0&client_id=%s&cb=%s&state=%s

参数说明:

  • client_id: 上面得到的应用ID
  • cb: 回跳URL,注意 URL 要在步骤1配置的白名单中
  • state: 透传参数。传递过来的 state 参数,授权完成后,会原样带到回跳 URL 上
  • test: 是否测试应用,应用未上架前,都取 1。上架后要改成 0
  • show_installed: 控制是否显示已授权过的项目。默认不显示,取 1 会显示

# 示例

https://tapd.woa.com/oauth/open_app_install?test=1&client_id=oauth_demo&cb=http%3A%2F%2Flion.oa.com%2F%7Eanyechen%2Fcode%2Fphp%2Foauth_demo%2Fhey.php&show_installed=1&state=demo-product123

# 3. 浏览器打开拼接好的 URL

enter image description here

# 4. 用户选项目,点“下一步”

enter image description here

# 5. 授权完成并跳转

授权完成后,会跳转到上面配置的跳转 URL,传递 code 参数及授权的项目 resource 参数,和回传 state 参数

# 例子:

http://lion.oa.com/~anyechen/code/php/oauth_demo/hey.php?code=4f9b2fab25a7c69715d426295a66717769666a0c&state=demo-product123&resouce=%7B%22type%22%3A%22workspace%22%2C%22workspace_id%22%3A%2269990779%22%7D&resource=%7B%22type%22%3A%22workspace%22%2C%22workspace_id%22%3A%2269990779%22%7D

Array
(
    [code] => 4f9b2fab25a7c69715d426295a66717769666a0c
    [state] => demo-product123
    [resource] => {"type":"workspace","workspace_id":"69990779"}
)
1
2
3
4
5
6

# 注意

  1. 返回的 resource ,会带上这次授权的项目ID workspace_id

# 6. 通过 Basic Auth 使用 API 访问对应项目的数据

curl -u 'client_id:client_secret' 'https://apiv2.tapd.tencent.com/bugs/count?workspace_id=69990779'

上次更新: 2022-09-01 11:13:25