提问人:Daniel Allen 提问时间:7/1/2023 最后编辑:Daniel Allen 更新时间:7/14/2023 访问量:140
对 Upwork GraphQL API 进行 Google Apps 脚本调用时遇到问题
Trouble making Google Apps Script call to Upwork GraphQL API
问:
我正在尝试连接到 Upwork 的新 GraphQL API,有一段时间了。所有授权都已设置,响应为 200,但我收到此错误:
{“errors”:[{“message”:“FieldUndefined 类型的验证错误:'Query' 类型的字段 'user' 未定义 @ 'user'”,“locations”:[{“line”:2,“column”:6}],“extensions”:{“classification”:“ValidationError”}}]}
这是我的基本功能:
function getUpwork() {
var service = getService("upwork");
var url = "https://api.upwork.com/graphql";
var payload = JSON.stringify({
"query":
`query {
user {
id
email
}
} ` });
var headers = {
"Authorization": `bearer ${service.getAccessToken()}`,
"Content-Type": "application/json",
};
var params = {
"method": "POST",
payload,
headers
};
var response = UrlFetchApp.fetch(url, params);
Logger
.log(response.getResponseCode())
.log(response.getContentText())
}
我只是想从 API 返回一些东西,但没有骰子。 此处的文档:https://www.upwork.com/developer/documentation/graphql/api/docs/index.html#query-user
谁能为我阐明这一点?几个月来,它一直在踢我的屁股。我已经尝试了大量的查询配置。
答:
0赞
TheMaster
7/2/2023
#1
尝试添加到有效负载中,例如user
var payload = JSON.stringify({
"query":
`query user {
user {
id
email
}
} ` });
或完全删除:query user
var payload = JSON.stringify({
"query":
`{
user {
id
email
}
} ` });
并使用适当的案例:Bearer
"Authorization": `Bearer ${service.getAccessToken()}`,
评论
0赞
Daniel Allen
7/2/2023
谢谢你的建议!我尝试了两种有效负载变体,但错误响应相同(“FieldUndefined 类型的验证错误:类型为 'Query' 的字段 'user' 未定义 @ 'user'”)。
0赞
TheMaster
7/3/2023
@DanielAllen 您能否引用确切的错误,包括两个有效载荷的位置/行号?你改成了吗?bearer
Bearer
1赞
Daniel Allen
7/15/2023
是的,我将承载切换到承载者,看起来问题源于 Upwork 本身。
0赞
mnovozhylov
7/3/2023
#2
您的代码看起来可以正常工作。目前,公共 GraphQL 查询存在问题。团队意识到了这一点,并努力尽快修复它。 如果您有任何其他问题,请随时联系 Upwork 支持团队。
Upwork对于给您带来的不便,我们深表歉意。
评论
0赞
Daniel Allen
7/15/2023
这已经是一个至少 6 个月的问题,知道什么时候会修复吗?
0赞
mnovozhylov
7/28/2023
它已经修复了。
评论