You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以application/x-www-form-urlencoded格式POST请求Envato API获取访问令牌

如何发送application/x-www-form-urlencoded格式的POST请求到Envato Token API

没问题!我来一步步教你怎么发送这个POST请求获取Envato的访问令牌,下面是几种常用工具/编程语言的实现方法,你可以根据自己的技术栈选择:

1. 使用curl命令(最直接的终端方式)

如果你用终端测试或者脚本调用,curl是最简单的方式:

curl -X POST https://api.envato.com/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code&code=YOUR_AUTH_CODE&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

记得把YOUR_AUTH_CODE、YOUR_CLIENT_ID、YOUR_CLIENT_SECRET替换成你实际拿到的授权码和应用密钥。

2. 使用Python的requests库

Python开发者可以用requests库快速实现,它会自动帮你处理表单编码:

import requests

# 配置请求参数
url = "https://api.envato.com/token"
payload = {
    "grant_type": "authorization_code",
    "code": "YOUR_AUTH_CODE",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET"
}

# 发送POST请求
response = requests.post(url, data=payload)

# 解析并打印响应结果
if response.status_code == 200:
    token_data = response.json()
    print("访问令牌:", token_data["access_token"])
    print("刷新令牌:", token_data["refresh_token"])
else:
    print("请求失败:", response.text)

注:这里不需要手动设置Content-Type,requests会自动识别data参数并设置正确的请求头。

3. 使用Node.js

3.1 使用axios库(推荐)

axios会自动处理表单数据的编码,代码更简洁:

const axios = require('axios');

async function getEnvatoToken() {
    try {
        const url = 'https://api.envato.com/token';
        const payload = new URLSearchParams({
            grant_type: 'authorization_code',
            code: 'YOUR_AUTH_CODE',
            client_id: 'YOUR_CLIENT_ID',
            client_secret: 'YOUR_CLIENT_SECRET'
        });

        const response = await axios.post(url, payload);
        console.log("访问令牌:", response.data.access_token);
        console.log("刷新令牌:", response.data.refresh_token);
    } catch (error) {
        console.error("请求失败:", error.response?.data || error.message);
    }
}

getEnvatoToken();

3.2 使用原生http模块

如果不想依赖第三方库,可以用Node.js原生模块实现:

const http = require('http');
const querystring = require('querystring');

// 编码表单数据
const postData = querystring.stringify({
    grant_type: 'authorization_code',
    code: 'YOUR_AUTH_CODE',
    client_id: 'YOUR_CLIENT_ID',
    client_secret: 'YOUR_CLIENT_SECRET'
});

// 配置请求选项
const options = {
    hostname: 'api.envato.com',
    path: '/token',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': Buffer.byteLength(postData)
    }
};

// 发送请求
const req = http.request(options, (res) => {
    let data = '';
    res.on('data', (chunk) => data += chunk);
    res.on('end', () => {
        const tokenData = JSON.parse(data);
        console.log("访问令牌:", tokenData.access_token);
    });
});

req.on('error', (e) => console.error("请求出错:", e.message));
req.write(postData);
req.end();

关键注意事项

  • 务必替换代码中所有大写的占位符为你实际的授权码、客户端ID和密钥
  • 绝对不要在前端浏览器中发送这个请求:client_secret是敏感信息,前端发送会导致密钥泄露,必须从你的服务器端发起请求
  • 成功响应后,你可以从返回的JSON中提取access_token(用于后续API调用)、refresh_token(令牌过期后刷新用)等字段

内容的提问来源于stack exchange,提问作者Ateeq Rafeeq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:21:21