Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hi everyone,
I'm trying to get data from hubspot API to powerbi using a POST method. I'm using this code to get the data but for some reason i'm receiving this error:
We cannot convert the value "[Binary]" to type Text
Details:
Value=[Binary]
Type=[Type]
let
data = "{'properties': [
'hs_survey_type'
],
'filterGroups':[{
'filters':[
{
'propertyName':'hs_createdate',
'operator':'BETWEEN',
'highValue': '1705552000000',
'value':'1704064000000'
},
{
'propertyName':'hs_survey_type',
'operator':'EQ',
'value':'CSAT'
}
]
}
]
}",
baseuri = "https://api.hubapi.com/crm/v3/objects/feedback_submissions/search",
initReq = Json.Document(Web.Contents(baseuri, [Headers = [Authorization="Bearer HERE_THE_TOKEN", #"Content-Type"="application/json", Content= Json.FromValue(data)]])),
initData = initReq[results]
in
initData
What might i am doing wrong?
Solved! Go to Solution.
Thanks everyone, I solved it by myself. Here you can check the final solution:
let
data = "{""properties"":[""hs_survey_type""],""filterGroups"":[{""filters"":[{""propertyName"":""hs_createdate"",""operator"":""BETWEEN"",""highValue"":""1705552000000"",""value"":""1704064000000""},{""propertyName"":""hs_survey_type"",""operator"":""EQ"",""value"":""CSAT""}]}]}",
baseuri = "https://api.hubapi.com/crm/v3/objects/feedback_submissions/search",
initReq = Json.Document(Web.Contents(baseuri, [
Headers = [
Authorization="Bearer HERE_THE_TOKEN",
#"Content-Type"="application/json"
],
Content=Text.ToBinary(data)
])),
initData = initReq[results]
in
initData
First I moved 'Content' into web.contents parameters, and also I reformated 'data' from a text o a binary using Text.ToBinary
Thanks everyone, I solved it by myself. Here you can check the final solution:
let
data = "{""properties"":[""hs_survey_type""],""filterGroups"":[{""filters"":[{""propertyName"":""hs_createdate"",""operator"":""BETWEEN"",""highValue"":""1705552000000"",""value"":""1704064000000""},{""propertyName"":""hs_survey_type"",""operator"":""EQ"",""value"":""CSAT""}]}]}",
baseuri = "https://api.hubapi.com/crm/v3/objects/feedback_submissions/search",
initReq = Json.Document(Web.Contents(baseuri, [
Headers = [
Authorization="Bearer HERE_THE_TOKEN",
#"Content-Type"="application/json"
],
Content=Text.ToBinary(data)
])),
initData = initReq[results]
in
initData
First I moved 'Content' into web.contents parameters, and also I reformated 'data' from a text o a binary using Text.ToBinary
Hello @jumercor,
Can you please try this:
let
data = "{'properties': [
'hs_survey_type'
],
'filterGroups':[{
'filters':[
{
'propertyName':'hs_createdate',
'operator':'BETWEEN',
'highValue': '1705552000000',
'value':'1704064000000'
},
{
'propertyName':'hs_survey_type',
'operator':'EQ',
'value':'CSAT'
}
]
}
]}",
baseuri = "https://api.hubapi.com/crm/v3/objects/feedback_submissions/search",
content = Json.FromValue(Text.FromBinary(data)),
headers = [
Authorization="Bearer HERE_THE_TOKEN",
#"Content-Type"="application/json"
],
response = Web.Contents(baseuri, [
Content=content,
Headers=headers,
Method="POST"
]),
responseText = Text.FromBinary(response),
initReq = Json.Document(responseText),
initData = initReq[results]
in
initData
Thanks, but I'm receiving -> Expression.Error: "Method" is not a valid option for Web.Contents. Valid options:
ApiKeyName, Content, ExcludedFromCacheKey, Headers, IsRetry, ManualStatusHandling, Query, RelativePath, Timeout
You don't need to specify Method. It is sufficient to provide a content payload, that will switch We.Contents from GET to POST automatically.
User | Count |
---|---|
54 | |
23 | |
19 | |
18 | |
17 |
User | Count |
---|---|
91 | |
86 | |
46 | |
28 | |
22 |