0

I'm getting below error when trying to create a google event from anypoint studio using google connector.

OAuth authorization dance not yet performed for resourceOwnerId null

Basically to test this functionality, I did below

  1. I took a listener connector (path:/hello) and configured with local host 8081
  2. Dragged google calendar event insert connector and configured with below details
    1. Base url: https://www.googleapis.com/calendar/v3
    2. consumer secret : Entered corporate clent id
    3. Consumer secret:Entered secret key
    4. Authorization url : https://accounts.google.com/o/oauth2/auth
    5. Access token url : https://accounts.google.com/o/oauth2/token
    6. Scopes: https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/calendar.events https://www.googleapis.com/auth/calendar.events.readonly https://www.googleapis.com/auth/calendar.readonly https://www.googleapis.com/auth/calendar.settings.readonly
    7. Call back path : /oauth2callback
    8. Authorize path : /authorize
    9. external callback url : http://localhost:8081/oauth2callback

I left remaining below fields empty in the google calendar connecter.

  1. Resource Owner id
  2. Before
  3. after
  4. Object store

In between, HTTP Listener and Google calendar events Insert connecter, I placed Transform message and written below Dataweave

%dw 2.0
output application/json
---
{
    summary: payload.summary,
    start: {
        dateTime: payload.start.dateTime,
        timeZone: payload.start.timeZone
    },
    end: {
        dateTime: payload.end.dateTime,
        timeZone: payload.end.timeZone
    }
}

Below is the JSON input I'm giving from the postman, url being http://localhost:8081/hello

{
   "end": {
        "datetime": "2022-05-19T16:00:00+05:30",
        "timezone":Asia/Chennai
    },
    "start": {
        "datetime": "2022-05-19T14:00:00+05:30",
        "timezone":Asia/Chennai
    },
       "summary":"First PO from Mulesoft Google connector",
       "description":"First desc from Mulesoft Google connector",
       "location":"Hyderabad",
    "attendees":[
         {
             "email":"[email protected]"
         }
    ]
}

I'm using anypoint studio 7.8.0.

Thanks in advance.

1 Answer 1

1

You need to start the OAuth dance first, to get the access token. You can start it by hitting the Authorize path that you have configured in your app, which in your case is http://localhost:8081/authorize

After that you will be redirected to Google sign in page. If the Google oauth credentials are configured correctly the mule app will get the access token and use it for the future requests.

9
  • Thank you Harshank, When I tried to start the OAuth dance, it gave me this error : Error 400: redirect_uri_mismatch. I registered the URL : localhost:8081/authorize in google console but no luck, it gave me the same error. Then I replaced localhost with my IP address and registered, still no luck. it is giving me same error.
    – GVMK
    Commented May 23, 2022 at 17:04
  • That should be the callback url that you have configured as External Callback URL i.e. http://localhost:8081/oauth2callback Commented May 23, 2022 at 17:26
  • I removed the url : localhost:8081/authorize from google console and registered this url localhost:8081/oauth2callback in google console. Now, when I run the localhost:8081/authorize, it is giving me this error again Error 400: redirect_uri_mismatch.
    – GVMK
    Commented May 23, 2022 at 20:16
  • you added with http and everything, right? Maybe it takes some time to reflect the changes. You can try to check for any typos and maybe there is an extra space somewhere in start or end. Commented May 24, 2022 at 17:58
  • yes, I added above url's with http only.
    – GVMK
    Commented May 24, 2022 at 19:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.