调用 Salesforce Einstein Analytics REST API SAQL 查询时出错
Getting error while calling Salesforce Einstein Analytics REST API SAQL query
我正在尝试通过 Analytics REST API SAQL 查询资源从 Einstein Analytics 获取数据集。我已遵循 https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/bi_resources_query.htm.
中提供的文档
但是,当我从 PostMan 通过 REST API 调用 Salesforce Einstein Analytics 时,我收到以下响应:
[
{
"errorCode": "118",
"message": "Expected query or query name in body."
}
]
PostmanPOST请求中的URL是
https://ap4.salesforce.com/services/data/v42.0/wave/query
我的请求正文包含:
{
"query":"q = load \"0Fb6F0000004eD4SAI/0Fc6F000001t5hWSAQ\";q = foreach q generate 'Account_Owner' as 'Account_Owner', 'Account_Type' as 'Account_Type', 'Amount' as 'Amount', 'Billing_State_Province' as 'Billing_State_Province', 'Close_Date_day_epoch' as 'Close_Date_day_epoch', 'Close_Date_sec_epoch' as 'Close_Date_sec_epoch', 'Column1' as 'Column1', 'Created_Date_day_epoch' as 'Created_Date_day_epoch', 'Opportunity_Name' as 'Opportunity_Name', 'Product_Name' as 'Product_Name';q = foreach q generate 'FirstName' as 'FirstName', count() as 'count';q = limit q 2000;"
}
在这里调用 REST API 我已经正确使用了 oAuth2.0 令牌。
请告诉我 - 我的请求中可能有什么问题,我的请求格式是否正确。
看起来你忘记了分号后面最后的 "...
...
q = 限制 q 100;" <-
我已经找到解决办法了,我没有把我请求的content-type设为application/json.
在 Postman 请求的 header 中将其设置为参数后,我能够得到正确的响应。
我正在尝试通过 Analytics REST API SAQL 查询资源从 Einstein Analytics 获取数据集。我已遵循 https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/bi_resources_query.htm.
中提供的文档但是,当我从 PostMan 通过 REST API 调用 Salesforce Einstein Analytics 时,我收到以下响应:
[
{
"errorCode": "118",
"message": "Expected query or query name in body."
}
]
PostmanPOST请求中的URL是
https://ap4.salesforce.com/services/data/v42.0/wave/query
我的请求正文包含:
{
"query":"q = load \"0Fb6F0000004eD4SAI/0Fc6F000001t5hWSAQ\";q = foreach q generate 'Account_Owner' as 'Account_Owner', 'Account_Type' as 'Account_Type', 'Amount' as 'Amount', 'Billing_State_Province' as 'Billing_State_Province', 'Close_Date_day_epoch' as 'Close_Date_day_epoch', 'Close_Date_sec_epoch' as 'Close_Date_sec_epoch', 'Column1' as 'Column1', 'Created_Date_day_epoch' as 'Created_Date_day_epoch', 'Opportunity_Name' as 'Opportunity_Name', 'Product_Name' as 'Product_Name';q = foreach q generate 'FirstName' as 'FirstName', count() as 'count';q = limit q 2000;"
}
在这里调用 REST API 我已经正确使用了 oAuth2.0 令牌。
请告诉我 - 我的请求中可能有什么问题,我的请求格式是否正确。
看起来你忘记了分号后面最后的 "...
... q = 限制 q 100;" <-
我已经找到解决办法了,我没有把我请求的content-type设为application/json.
在 Postman 请求的 header 中将其设置为参数后,我能够得到正确的响应。