Forum Discussion
We cannot convert the value "[Binary]" to type Text
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?
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
initDataFirst I moved 'Content' into web.contents parameters, and also I reformated 'data' from a text o a binary using Text.ToBinary
4 Replies
- Sahir_MaharajSuper User
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- jumercorRegular Visitor
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
- lbendlinSuper User
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.
- jumercorRegular Visitor
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
initDataFirst I moved 'Content' into web.contents parameters, and also I reformated 'data' from a text o a binary using Text.ToBinary