Debugging REST API connection problems

I’m trying to create a REST API connector to a SmartSheet with data I’d like to make use of in EazyBI. I’ve got my (GET) API call working great from a browser, from Postman and everywhere else I’ve tried but EazyBI.

In EazyBI, on the REST API source parameters page, the source URL is set to:

https://api.smartsheet.com/2.0/reports/{reportid}?level=3&include=objectValue

Authentication is via a bearer token. I’ve got EazyBI set to HTTP Header, with
Header Name: Authorization
Header value: Bearer {token}

I consistently get a 403 error from EazyBI. Any suggestions on debugging this?

The equivalent curl call works great:

 curl 'https://api.smartsheet.com/2.0/reports/{reportid}?level=3&include=objectValue' -H "Authorization: Bearer {token}"

I tried to create a SmartSheet REST source and was successful with these settings:

  1. Test URL https://api.smartsheet.com/2.0/reports
  2. Authorization option - HTTP headers
    Authorization
    Bearer tljct26…
  3. Successfully got to mapping screen

When I changed token to invalid, I got 401 error.
When I changed URL to invalid, I got 404 error.
When I changed Header name to Authorization1, I got 403 error.

One thing to note was that Authorization header can’t be set in Additional HTTP headers, it has to be in Authentication parameters.

After I got the report list, I also tried to use retrieved report ID 18038… to request individual report data and was able to do so.

Looks like it was being blocked by a squid proxy I didn’t realize was in-between. Appears that the proxy was returning the 403, not the endpoint. 403 is the Aloha of return codes, it can mean so many things, not just invalid credentials.