Forum Discussion
Cannot Apply operator Text and List Conversion required? or syntax error with Parameter usages
Hi Community I am trying to paremterise the file path for a json source,
Query which lists path requiredhe data source for json source.
I have above query which returns a list containing the file path of the data source as follows:
I want to insert this query called "URIPathLocation" into the Web.Contents path but i am getting an error stating
Expression.Syntax.Token Literal Expected.
= Json.Document(Web.Contents(" & URIPathLocation & "/Contact/Customer/?api-version=v2"))How do you add a query ouputting a list into text field...is there a conversion required from Type to list
Originally, I can get the statement to work as follows, where i manually key the first part and then create a SelectCompany query to choose the ID number (that appears after the Accountright folder name above). The select company parameter is where i manually type in the URI d2c78098-1f9c-xxxxxxx etc. which chooses the company file.
I originally was using the following command, which works fine...but only gets the URI and not the path...I am sure its a formatting issue !
Json.Document(Web.Contents("http://localhost:8080/AccountRight/" & SelectCompany & "/Contact/Supplier/?api-version=v2"))
==================
Update !
It seems the main issue is when you put the text in a query that outputs a list you get an error .
Expression.Error: We cannot apply operator & to types Text and List.
Details:
Operator=&
Left=http://localhost:8080/AccountRight/
Right=List
When you create a parameter with a text List of values the expression works with out an issue but its not dynamic.
Is there a way to convert the query that outputs a list to a text string that will be accepted by the command below
Json.Document(Web.Contents(
Your formula is passing a static string:
Json.Document(Web.Contents("URIPath&/Contact/Supplier/?api-version=v2"))and I believe that you're going after something like:
Json.Document(Web.Contents(Text.From(URIPath)&"/Contact/Supplier/?api-version=v2"))
7 Replies
- v-xjiin-msftSolution Sage
Hi THEG72,
In your scenario, what will Web.Contents() return without Json.Document?
Web.Contents("http://localhost:8080/AccountRight/" & SelectCompany & "/Contact/Supplier/?api-version=v2")Thanks,
Xi Jin.- THEG72Helper V
It returns the object, then you right click it and return the output to a Json format to get the original code shown below.
= Json.Document(Web.Contents(DataLocation & SelectCompanyURI & "/Contact/Supplier/?api-version=v2"))
I have the following Parameters defined:
DataLocation "http://localhost:8080/AccountRight/" (Text Based List of Values Manually entered)
SelectCompanyURI "d2c78098-1f9c-4334-aee9-27349b3ed6a4'" (Text Based List of Values manually entered)
The Datalocation api endpoint return the path required for each company file resource when you initially browse the list, convert it to a table and you can see the path required for the Web Contents code.
If i select the path and either Drill Down or Add as A query, how can i add this to the web.contents code line? I think I am missing some quotes maybe?
The code below returns an error, I assume i have the syntax incorrectDataFormat.Error: Invalid URI: The hostname could not be parsed. Details: URIPath&/Contact/Supplier/?api-version=v2,
Json.Document(Web.Contents("URIPath&/Contact/Supplier/?api-version=v2"))This line does work
http://localhost:8080/AccountRight/d2c78098-1f9c-4334-aee9-27349b3ed6a4/Contact/Supplier/?api-version=v2
URI Path http://localhost:8080/AccountRight/d2c78098-1f9c-4334-aee9-27349b3ed6a4
Thanks
- miguelCommunity Admin
Your formula is passing a static string:
Json.Document(Web.Contents("URIPath&/Contact/Supplier/?api-version=v2"))and I believe that you're going after something like:
Json.Document(Web.Contents(Text.From(URIPath)&"/Contact/Supplier/?api-version=v2"))