HTTPRequest and OAuth1 Authentication

Hi All,

I got stuck at HTTPRequest with Yahoo’s API with UiPath and unable to understand reasons for it to be not working when executing thru workflow, but working alright at preview stage. Same set of values fetch GET 200 St code when done in Preview option of Http Request Wizard in Uipath.

The end-point e.g I am trying to excess is Yahoo Weather API which requires OAuth1 and so I passed the consumerKey and consumerSecret code in wizard (image attached) and it previews fine with parameter values being passed to it. However, same activity is throwing error for invalid credentials from Yahoo when run in workflow. Attaching snapshots

See if can provide help with suggestions.
Endpoint - “https://weather-ydn-yql.media.yahoo.com/forecastrss”

@Palaniyappan @loginerror awiating your expert review and guidance!! :slightly_smiling_face:

image|457x500



emphasized text

Hi @keshar1288,

Please configure http request as per the following url
https://developer.yahoo.com/weather/

Sample Request as follows

GET /forecastrss?location=sunnyvale,ca HTTP/1.1
Host: weather-ydn-yql.media.yahoo.com
X-Yahoo-App-Id: YOUR_APP_ID
Authorization: OAuth
oauth_consumer_key=“YOUR_CONSUMER_KEY”,oauth_signature_method=“HMAC-SHA1”,oauth_timestamp=“YOUR_TIMESTAMP”,oauth_nonce=“YOUR_NONCE”,oauth_version=“1.0”,oauth_signature=“YOUR_GENERATED_SIGNATURE”
cache-control: no-cache

Thanks @SamanGuruge however, I did chech this page before and then went on to set up same in UiPath. So as I stated above problem is why the activity throwing error when run in workflow and working fine in “preview mode” with consumerKey and consumerSecret. And what values to change in Properties of HTTPRequest in UiPath to get past the credentials error.

Hi @keshar1288

if you don’t mind can you share end-point(URL) ,consumer_key and consumer secret then I can run it in my pc

Sure,

let me paste them here -
Endpoint - “https://weather-ydn-yql.media.yahoo.com/forecastrss

Consumer Key - “dj0yJmk9S2g5RThNZEJqTmpCJmQ9WVdrOVlXeGpiVkJ3TjJFbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWJm”

ConsumerSecret -
“a4ddf529c10c6001f0616eec5a73417db52f381c”

Two Parameters - location, format

And here is the error response when run workflow -

Status Code : 401
Response : {“yahoo.error”:{"@xml.lang":“en-US”,"@yahoo.uri":“http://yahoo.com”,“yahoo.description”:“Please provide valid credentials. OAuth oauth_problem=“OST_OAUTH_PARAMETER_ABSENT_ERROR”, realm=“yahooapis.com””,“yahoo.detail”:“Please provide valid credentials. OAuth oauth_problem=“OST_OAUTH_PARAMETER_ABSENT_ERROR”, realm=“yahooapis.com””}}

Please take a look at the examples to see what you are missing:
https://developer.yahoo.com/weather/documentation.html#oauth-csharp

1 Like

HI @keshar1288

Found the issue

you need to pass Location and format as Parameter


now it’s working fine

If you pass location directly into the endpoint it wont work pass as a parameter then it will work

1 Like

Hey @bcorrea was just looking at python version of the code, and could see values being set up for header to config Authorization value. Will sure take a look at C# version.

Yes, i did when setting up and could run that way. if you see the first set of screenshots I have attached same .xml ouput that you have now.

So again I would try to clarify the problem is now the same activity isn’t working when run in workflow mode. May be you also try it running in workflow now, after having it set up. Please Do note -— *

the screen shot again I am pasting here for passing parameter values.

Do note the red-lined values fields -

if you see as in image, both “parameters” are set to value of two variables with default values… let me know if are got it running in workflow?

I have tried both ways now i.e keeping parameters with valid values and also ran by deleting both the parameters from the HTTP Req activity. RESULT is same in both runs i.e. same ERROR - OST_OAUTH_PARAMETER_ABSENT_ERROR in both runs is being given.

So it can be concluded that HTTPRequest activity is not passing/considering the Parameters property under Options section.