GraphQL到CURL示例

9wbgstp7  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(167)

我正在尝试测试FreeAgent CRM中实现GraphQL的API。
我正在努力为下面的示例格式化请求。https://api.freeagent.network/#list-app-fields
下面是请求的示例:

query getFields($entity:String,$show_hidden:Boolean) {
  getFields(entity:$entity,show_hidden:$show_hidden){
    id
    name
    name_label
    main_type
    is_required
    is_visible
    is_unique
    default_value
    catalog_type_id
    reference_field_id
    reference_fa_entity_id
    reference_fa_entity_name
  }
}

我已经将其转换为json,以便从命令行发送cURL请求。
curl -i -H "Authorization: bearer MY_TOKEN" -X POST -d '{"query": "query getFields($entity:"products",$show_hidden:false) { getFields(entity:$entity,show_hidden:$show_hidden){ id name name_label main_type is_required is_visible is_unique default_value catalog_type_id reference_field_id reference_fa_entity_id reference_fa_entity_name }}"}' https://freeagent.network/api/graphql
我已经尝试了不同的格式,我不确定我是否解释了graphql文档的错误,或者在这个特定的API中是否发生了一些有趣的事情,以及它是如何设置的。
无论我尝试发送的格式如何,我都会收到一个错误,即没有提供查询字符串。

{"errors":[{"message":"Must provide query string."}]}

我已经联系了支持团队,但我想撒一个更广泛的网,这样我就可以了解更多关于graphql的信息,因为我相信我会从SO社区得到一个更好的解释,说明我做错了什么。

ff29svar

ff29svar1#

使用postman构建GraphQL,并在其正常工作后导出cURL语法。

curl --location --request POST 'https://freeagent.network/api/graphql' \
--header 'Authorization: bearer MY_TOKEN' \
--header 'Content-Type: application/json' \
--header 'Cookie: hazel=True' \
--data-raw '{"query":"query listEntityValues($entity: String!, $fields: [String], $order: [[String]], $limit: Int, $offset: Int, $pattern: String, $filters: [Filter]) {\n        listEntityValues(entity: $entity, fields: $fields, order: $order, limit: $limit, offset: $offset, pattern: $pattern, filters: $filters) {\n          count\n          entity_values {\n            id\n            seq_id\n            field_values\n          }\n        }\n      }","variables":{"entity":"product","show_hidden":false}}'

相关问题