My API requests to the on-demand service APIs are being rejected as status 400, bad requests.
There appears to be two flavors of the PHP SDK:
First, I'm able to use my ClientID on https://aex.aemmobile.adobe.com and obtain my Device ID and Device Token.
Next, I plug those values combined with the returned AEM Mobile On-Demand services form from Adobe in the configure.php:
After which, I can successfully run the demos - I can get my access token, create articles, assemble and upload articles, add to collections, etc... Seemingly things are working perfectly.
When I look the output from the PHP script, things seem in order:
However, when I debug that network call through a proxy, I'm seeing different values (X's below are hiding values)
First, the client ID doesn't match - I'm not even sure where this "ProjectCentral12" is coming from.
Next, the device ID's UUID is in a different form.
Finally, the client secret does not match my UUID.
What's confusing about this, is that when I curl to test the API using my assigned values, I get http status 400, bad request.
However, when I use these values from above, the API call works.
So, my question is:
Can you modify the scope to AdobeID,openid ? It doesn't appear to be right and that's why you get a 400 Bad Request (invalid scope)
POST call for authentication :
client_id + client_secret => API key that you have received from Adobe;
device_id + device_token => these values generated with the AEX tool
Reducing the scope to AdobeID,openid appears to resolve the issue.
Thanks for the insight.
If it helps, here are two code segments consuming the API:
Using these values that I traced through debug proxy works:
However, using my assigned values fails: