Search code examples
analyticsadobe-analytics

Omniture API, Report.Queue returns "You do not have privileges to perform this operation."


i am currently struggling to use Adobe Analytics with one of our customer's accounts. Indeed, I can correctly authenticate on the API and some calls like Report.GetMetrics work, but each time i try to make a either a Report.Queue or Report.Run API call, it systematically returns an error saying "You do not have privileges to perform this operation." This never occured before so we don't know how to fix this, do you have any idea ?

Example call on /1.4/rest?method=Report.Queue :

{
"reportDescription":{
    "reportSuiteID":"CUSTOMER_REPORT_SUITE",
    "date":"2017-02-19",
    "metrics":[
        {
            "id":"revenue"
        }
    ],

}

}

Systematic answer:

{
  "error":"Bad Request",
  "error_description":"You do not have privileges to perform this operation.",
  "error_uri":null

}

Please help me, i'm getting out of patience here :s


Solution

  • The most common reason for that response is the account you are using to to make the API calls do not have the required permission levels to access that report suite and/or metric. Login to the Adobe Analytics interface and go to user management and look at the account you are using. Make sure there aren't any restrictions placed on it for the report suite and/or metric. Also, check if the account is part of any user groups that may restrict it.

    Another reason I have seen that response is from malformed JSON objects. Usually the API will return a "bad syntax" type message, but depending on how much you managed to butcher it, it may possibly interpret it as something else.

    I do see a trailing comma in your JSON object above, which is technically wrong, but the API explorer doesn't seem to reject it. So at face value, that JSON object is okay (assuming your account permissions are right).

    But.. I wonder why that trailing comma is there in the first place.. it makes me wonder whether or not you actually showed the full JSON object in your post, and maybe there is something in there that is malformed or using incorrect data points or values. If that is the case, then you will need to post the full JSON object you are sending.

    Another reason could be because you are incorrectly building the rest of the URL, particularly the password digest stuff. But.. you said other methods are working for you, so I don't think that's the issue. But if all the other stuff above seems good, then try using the API Explorer with your JSON object. That will cut out your script to help narrow down whether it's a problem with your script or not.