| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { SpApiClient } from './src/client.ts';
- import { SpApiConfig } from './src/types.ts';
- // 从环境变量读取配置,或者使用占位符
- const config: SpApiConfig = {
- clientId:'amzn1.application-oa2-client.afc01e883d4143bcae466247ac5fe692',
- clientSecret:'amzn1.oa2-cs.v1.eb3330dce4b5c835b0d22e855c8db1082632b99ed7226db7114557b3c562d038',
- refreshToken:'Atzr|IwEBIC8ubYHG1E9Li2-_madN1smv4tKNgv9-SZTkW-OxlyeiXVQMbRon_7-ON9s2spa-fBsi6G1KXdk8eSO2SlyM-5BxMUufTTclXDCmDZWHg6wmi6HPwRceGDbWhqjIuPWseNj4uyBBjUcd9F6O_RYzEsu1yss67RcZikPI7t_i-tUhF5W8l2Ufj2Sl9JXGycxNoJKbZzApPVVLwja_JaiAlqhZX4JYM1gfK9dgynJNgcPhnVZRJ0vNOkurQPtSp6_Yix6itvMhN5QeXZwJdd5xW1T7C6TJXsHJLiEPfTeJIEj7m7UwgdDS7YvdryIL8cMl5Gc',
- region: 'us-east-1'
- };
- console.log('Initializing SP-API Client with config:', {
- ...config
- });
- const client = new SpApiClient(config);
- async function testAuth() {
- try {
- console.log('Attempting to fetch Access Token...');
- // 通过访问私有方法或者触发请求来测试
- // 由于 getAccessToken 是私有的,我们通过 request 方法触发它
- // 我们故意请求一个不存在的端点,如果能走到 404,说明 Auth 成功了
- // 如果是 400/401 且来自 Amazon Auth Server,说明 Auth 失败
- await client.request({
- method: 'GET',
- path: '/orders/v0/orders',
- query: {
- MarketplaceIds: ['ATVPDKIKX0DER'], // getOrders expects MarketplaceIds as a list
- CreatedAfter: '2023-10-01T00:00:00Z'
- }
- });
- console.log('Request executed successfully.');
- } catch (error: any) {
- console.log('Test finished with error.');
-
- if (error.response) {
- console.log('HTTP Status:', error.response.status);
- console.log('Response Data:', JSON.stringify(error.response.data, null, 2));
-
- // 分析错误来源
- if (error.config && error.config.url && error.config.url.includes('api.amazon.com/auth/o2/token')) {
- console.error('❌ LWA Authentication Failed: Unable to get Access Token.');
- } else if (error.response.status === 403) {
- console.log('✅ Access Token acquired successfully! (But API request forbidden/invalid as expected with dummy creds)');
- } else if (error.response.status === 404) {
- console.log('✅ Access Token acquired successfully! (API endpoint not found)');
- } else if (error.response.status === 401) {
- console.log('❌ API Unauthorized: Access Token might be invalid or expired immediately.');
- } else {
- // 如果是我们预期的 token 请求错误
- if (error.message.includes('refresh_token')) {
- console.error('❌ LWA Token Error:', error.message);
- }
- }
- } else {
- console.error('Error Message:', error.message);
- }
- }
- }
- testAuth();
|