【Photoshop API 】二、curl工具获取 access_token

本文介绍了如何使用Adobe Photoshop APIs进行权限申请,重点讲解了JWT(服务帐户)认证来获取access_token的过程。首先,通过ServiceAccountJWT-GenerateJWT页面生成Sample cURL命令,然后利用curl工具获取access_token。访问令牌每24小时会过期,需要定期刷新。最后,展示了使用access_token和CLIENT_ID通过curl进行API调用的示例。

上一遍文章:【Photoshop API 】权限申请用法

 

一、Adobe photoshop APIs直接获取access token

二、JWT(服务帐户)认证获取access token

服务帐户集成(JWT认证流程)

对于服务到服务的集成,您还需要一个JSON Web令牌(JWT),该令牌封装您的客户端凭据并验证集成的身份。然后,您用JWT交换授权访问的访问令牌(access_token )。

 

YOUR_SERVICE TOKEN 就是access_token 

获取办法:

### 生成微博API所需的 `access_token` 微博API的`access_token`是通过OAuth 2.0授权机制获取的,用于标识用户身份并访问受保护的资源。客户端在每次API请求时需要携带`access_token`,服务器会验证其有效性[^1]。如果`access_token`未过期,则处理请求;如果已过期,则返回特定错误码,提示客户端使用`refresh_token`刷新`access_token`。 以下是获取微博API `access_token`的主要步骤和代码示例: #### 1. 获取临时授权码(Code) 开发者首先需要引导用户跳转到微博授权页面,用户登录后同意授权,系统将返回一个临时授权码(Code)。跳转URL格式如下: ```text https://api.weibo.com/oauth2/authorize?client_id={APP_KEY}&redirect_uri={REDIRECT_URI} ``` - `{APP_KEY}` 是应用的唯一标识。 - `{REDIRECT_URI}` 是授权回调地址。 用户同意授权后,微博会将授权码(Code)通过回调地址返回。 #### 2. 使用授权码换取 `access_token` 获取到授权码(Code)后,可以使用以下接口将其兑换为`access_token`: ```text https://api.weibo.com/oauth2/access_token?client_id={APP_KEY}&client_secret={APP_SECRET}&grant_type=authorization_code&redirect_uri={REDIRECT_URI}&code={CODE} ``` 其中: - `{APP_SECRET}` 是应用的密钥。 - `{CODE}` 是上一步获取的授权码。 以下是一个使用PHP语言的示例代码,展示如何通过授权码获取`access_token`: ```php <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.weibo.com/oauth2/access_token"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'client_id' => 'YOUR_APP_KEY', 'client_secret' => 'YOUR_APP_SECRET', 'grant_type' => 'authorization_code', 'redirect_uri' => 'YOUR_REDIRECT_URI', 'code' => 'AUTHORIZATION_CODE' ])); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); if (isset($data['access_token'])) { echo "Access Token: " . $data['access_token']; } else { echo "Error: " . $data['error_description']; } ?> ``` #### 3. 刷新 `access_token` 当`access_token`即将过期时,可以通过`refresh_token`刷新以获得新的`access_token`。刷新接口如下: ```text https://api.weibo.com/oauth2/access_token?client_id={APP_KEY}&client_secret={APP_SECRET}&grant_type=refresh_token&refresh_token={REFRESH_TOKEN} ``` 同样可以使用PHP代码实现刷新操作: ```php <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.weibo.com/oauth2/access_token"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'client_id' => 'YOUR_APP_KEY', 'client_secret' => 'YOUR_APP_SECRET', 'grant_type' => 'refresh_token', 'refresh_token' => 'YOUR_REFRESH_TOKEN' ])); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); if (isset($data['access_token'])) { echo "New Access Token: " . $data['access_token']; } else { echo "Error: " . $data['error_description']; } ?> ``` #### 注意事项 - `access_token` 的有效期通常为7200秒(2小时),建议开发者使用中控服务器统一管理和刷新`access_token`[^2]。 - 在刷新过程中,新旧`access_token`可能同时有效一段时间,这有助于业务的平滑过渡[^2]。 - 开发者应妥善保存`access_token`和`refresh_token`,避免泄露。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值