尝试从自由职业者 API 的特定路径获取 [GET] 数据时出现错误 BAD.REQUEST 400?
Getting error BAD.REQUEST 400 when trying fetching [GET] data from a specific route of freelancer API?
我正在与自由职业者 API 合作,我想从此端点获取用户数据 /users/0.1/users/
但我一直收到错误
error_code: "RestExceptionCodes.BAD_REQUEST"
message: "Please provide users[] or usernames[] query"
自由职业者-api:List Users
function fetchV2(urlOb, headerOb, paramsOb) {
Object.keys(paramsOb).forEach(key => urlOb.searchParams.append(key, paramsOb[key]))
return fetch(urlOb, headerOb)
}
let header = {
method: 'GET',
headers: {
'freelancer-oauth-v1': *********
}
}
let url = new URL(`https://www.freelancer.com/api/users/0.1/users/`);
let params = {users:[123456,654321]};
let res = await fetchV2(url, header, params);
let data = await res.json();
console.log(data);
我也尝试用一个 user_id 进行查询,但我又遇到了同样的错误。
我成功地使用了其他路线(使用相同的结构),但我不知道我在这里错过了什么!
有什么想法吗?
对于可能帮助他们的其他人,我发现没有将数组参数传递给 URL 的标准方法,这意味着 URLSearchParams API 不支持解析数组或对象。
所以我建立了一个函数来手动制作它:
function test() {
let url = 'https://www.freelancer.com/api/users/0.1/users/'
let paramsArray = {
users: [11111111, 22222222, 33333333],
username:['p1','p2','p3']
}
let arrString = ''
for (const property in paramsArray) {
arrString += paramsArray[property].map(item => {
return `${property}[]=${item}&`
}).join('')
}
let paramsNotArray = {
display_info: true,
status: true,
}
const params = new URLSearchParams(paramsNotArray)
url = `${url}?${arrString}${params.toString()}`
return fetch(url)
}
这里是 article.
我正在与自由职业者 API 合作,我想从此端点获取用户数据 /users/0.1/users/ 但我一直收到错误
error_code: "RestExceptionCodes.BAD_REQUEST" message: "Please provide users[] or usernames[] query"
自由职业者-api:List Users
function fetchV2(urlOb, headerOb, paramsOb) {
Object.keys(paramsOb).forEach(key => urlOb.searchParams.append(key, paramsOb[key]))
return fetch(urlOb, headerOb)
}
let header = {
method: 'GET',
headers: {
'freelancer-oauth-v1': *********
}
}
let url = new URL(`https://www.freelancer.com/api/users/0.1/users/`);
let params = {users:[123456,654321]};
let res = await fetchV2(url, header, params);
let data = await res.json();
console.log(data);
我也尝试用一个 user_id 进行查询,但我又遇到了同样的错误。
我成功地使用了其他路线(使用相同的结构),但我不知道我在这里错过了什么! 有什么想法吗?
对于可能帮助他们的其他人,我发现没有将数组参数传递给 URL 的标准方法,这意味着 URLSearchParams API 不支持解析数组或对象。 所以我建立了一个函数来手动制作它:
function test() {
let url = 'https://www.freelancer.com/api/users/0.1/users/'
let paramsArray = {
users: [11111111, 22222222, 33333333],
username:['p1','p2','p3']
}
let arrString = ''
for (const property in paramsArray) {
arrString += paramsArray[property].map(item => {
return `${property}[]=${item}&`
}).join('')
}
let paramsNotArray = {
display_info: true,
status: true,
}
const params = new URLSearchParams(paramsNotArray)
url = `${url}?${arrString}${params.toString()}`
return fetch(url)
}
这里是 article.