Copy link to clipboard
Copied
I have this code
Example #1
<cffile action = "read" file = "./config.txt" variable = "fileContents">
<cfset line1 = listGetAt(fileContents, 1, chr(10))>
<cfset line2 = listGetAt(fileContents, 2, chr(10))>
<cfset AuthKey = #mid(line1,19)#>
<cfset RefToken = #mid(line2,15)#>
<cfset contentBody = "grant_type=refresh_token&client_id=bcbb1365893&client_secret=62b5a8a84567992666tf986a3f474791e&refresh_token=9312beb987fbd8efebf6dc&scope=read%2Bwrite" />
<cfhttp method="POST" url="https://api.wedoo.com/oauth2/access_token">
<cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded" />
<cfhttpparam type="formfield" name="grant_type" value="refresh_token" />
<cfhttpparam type="formfield" name="client_id" value="bcqq13f2d1d320543524">
<cfhttpparam type="formfield" name="client_secret" value="62b5a8a84567992666tf986a3f474791e" />
<cfhttpparam type="formfield" name="scope" value="read+write" />
<cfhttpparam type="formfield" name="refresh_token" value="#RefToken#" />
</cfhttp>
<cfset cfData = cfhttp.filecontent />
<cfoutput>#cfData#</cfoutput>
When I run this code I get a 500 error. I'm on a Railo server so I don't get any more info.
I can confirm the RefToken value from line 5 is 239hy9uiw784fbew43y7
-------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------
But when I actually put the RefToken value in the code it works fine..like this
Example #2
<cffile action = "read" file = "./config.txt" variable = "fileContents">
<cfset line1 = listGetAt(fileContents, 1, chr(10))>
<cfset line2 = listGetAt(fileContents, 2, chr(10))>
<cfset AuthKey = #mid(line1,19)#>
<cfset RefToken = #mid(line2,15)#>
<cfset RefToken = 239hy9uiw784fbew43y7>
<cfset contentBody = "grant_type=refresh_token&client_id=bcbb1365893&client_secret=62b5a8a84567992666tf986a3f474791e&refresh_token=9312beb987fbd8efebf6dc&scope=read%2Bwrite" />
<cfhttp method="POST" url="https://api.wedoo.com/oauth2/access_token">
<cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded" />
<cfhttpparam type="formfield" name="grant_type" value="refresh_token" />
<cfhttpparam type="formfield" name="client_id" value="bcqq13f2d1d320543524">
<cfhttpparam type="formfield" name="client_secret" value="62b5a8a84567992666tf986a3f474791e" />
<cfhttpparam type="formfield" name="scope" value="read+write" />
<cfhttpparam type="formfield" name="refresh_token" value="239hy9uiw784fbew43y7" />
</cfhttp>
<cfset cfData = cfhttp.filecontent />
<cfoutput>#cfData#</cfoutput>
When I actually put the refresh_token value in the code like in example #2 it works fine.
Copy link to clipboard
Copied
You should surround strings with quotes. For example,
<cfset AuthKey = "#mid(line1,19)#">
<cfset RefToken = "#mid(line2,15)#">
<cfset RefToken = "239hy9uiw784fbew43y7">
Copy link to clipboard
Copied
BKBK wrote
You should surround strings with quotes. For example,
Or do away with the hashtags and the quotes.
Also, OP might want to redact the original post to remove sensitive information like CLIENTID and CLIENT_SECRET, which I assume are login credentials.
V/r,
^ _ ^
Copy link to clipboard
Copied
There is no need, and no value added, to use both hashes and quotes to call CF expressions that return strings.
Dave Watts, Eidolon LLC
Copy link to clipboard
Copied
So is the consensus that I should surround strings with quotes. For example,
Like this?
<cfset AuthKey = "#mid(line1,19)#">
<cfset RefToken = "#mid(line2,15)#">
<cfset RefToken = "239hy9uiw784fbew43y7">
What does this mean?
There is no need, and no value added, to use both hashes and quotes to call CF expressions that return strings
I have changed all of the values used in this example. They aren't real credentials.
Copy link to clipboard
Copied
It's best to use the following syntax:
<cfset AuthKey = mid(line1,19)>
<cfset RefToken = mid(line2,15)>
<cfset RefToken = "239hy9uiw784fbew43y7">
What Dave is talking about is that the following two lines are functionally equivalent, but the first line makes the parser work harder:
<cfset AuthKey = "#mid(line1,19)#">
<cfset AuthKey = mid(line1,19)>