Privacy Service API request from Firefly Sample App | Community
Skip to main content
alexb75062655
Level 2
June 11, 2020
Solved

Privacy Service API request from Firefly Sample App

  • June 11, 2020
  • 5 replies
  • 4719 views

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:

 

 

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:

 

 

 

 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by dbenge

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"] } })

 

5 replies

Adobe Employee
June 11, 2020

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

alexb75062655
Level 2
June 12, 2020
I've added some additional info in the question; let me know if more is needed
Adobe Employee
June 12, 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) }

 

alexb75062655
Level 2
June 15, 2020

These are the debug statements I'm seeing:

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.  

 

Adobe Employee
June 15, 2020
That would indicate not allowed. Would you mind posting the section of code where you make the fetch call to the privacy server? plz
alexb75062655
Level 2
June 16, 2020

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

I'm using the 'generic' action name:

dbengeAdobe EmployeeAccepted solution
Adobe Employee
June 16, 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"] } })

 

alexb75062655
Level 2
June 16, 2020
Awesome, thank you, that's worked perfectly!