Privacy Service API request from Firefly Sample App

Avatar

Avatar

alexb75062655

Avatar

alexb75062655

alexb75062655

11-06-2020

I've created a project with the intention of using the Privacy Service APIs.

 

So i've made a few small tweaks:
1) Changed the endpoint to "https://platform.adobe.io/data/core/privacy/jobs?regulation=gdpr&size=100"
2) Changed requiredHeaders to include ['Authorization', 'x-api-key', 'x-gw-ims-org-id']
I've tried the request in Postman and it works fine, so I know there isn't an issue with the headers, but when I run it in localhost I get a 500 error:

 Screenshot 2020-06-11 at 12.21.28.png

 

Am I missing something obvious?
Edit: I didn't mention that I'm just using the sample app that gets generated, and then in index.js I've adjusted the requiredHeaders & apiEndpoint values:

 Screenshot 2020-06-12 at 08.37.42.png

 

 

 

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

dr_venture

Employee

Avatar

dr_venture

Employee

dr_venture
Employee

16-06-2020

I am double-checking with some people to make sure there are no handy helper libs but essentially you will need to forward the headers from the action invoke to your secondary service call.

const res = await fetch(apiEndpoint,{
  headers:{
    "authorization": params.__ow_headers["authorization"],
    "x-api-key": params.__ow_headers["x-api-key"],
    "w-gw-ims-org-id": params.__ow_headers["w-gw-ims-org-id"],
    "x-api-key": params.__ow_headers["x-api-key"]
  }
})

 

Answers (4)

Answers (4)

Avatar

Avatar

alexb75062655

Avatar

alexb75062655

alexb75062655

16-06-2020

So from the framework that was generated, the only things I've changed are row33 and row45

Screenshot 2020-06-16 at 14.11.25.png

I'm using the 'generic' action name:

Screenshot 2020-06-16 at 14.01.08.png

Avatar

Avatar

alexb75062655

Avatar

alexb75062655

alexb75062655

15-06-2020

These are the debug statements I'm seeing:

Screenshot 2020-06-16 at 00.26.07.png

I'm using Postman to make a request to the same endpoint with the same 4 headers (authorization, content-type, x-gw-ims-org-id and x-api-key) and header values, not seeing any issues.  

 

Avatar

Avatar

dr_venture

Employee

Avatar

dr_venture

Employee

dr_venture
Employee

12-06-2020

I don't see an error in the code you posted.

In fact, I took the section of code you shared and ran it local and it worked fine. 

500 could be coming from the privacy service.  When you do the fetch on the privacy endpoint are you including all the needed headers, params, and auth needed to make that call?

 

const requiredParams = []
    const requiredHeaders = ['Authorization','x-api-key','w-gw-ims-org-id']
    const errorMessage = checkMissingRequestInputs(params, requiredParams, requiredHeaders)
    if (errorMessage) {
      // return and log client errors
      return errorResponse(400, errorMessage, logger)
    }

 

Avatar

Avatar

dr_venture

Employee

Avatar

dr_venture

Employee

dr_venture
Employee

11-06-2020

Can you post a sample of the code in question?  It is hard to tell the problem from that error message.