Accessing additional accounts over Ads API - More approvals needed?

authorization
ads

#1

Hi,

we’ve gotten approval for developer access to the ad’s API with our twitter handle.

I understand we can have access for up to 5 auth tokens with this account: https://dev.twitter.com/ads/overview

With twurl, we can access campaign analytics with this API for our own twitter handle, but not for any others.

So call to ‘/1/accounts’ works fine when default user is set to EaglePointPt, but doesn’t work with other users - even if we’ve ‘authorised’ the app from the second account to twurl:

twurl authorize --consumer-key key --consumer-secret secret

Any suggestions? Is it even possible? Or do we need to go through the ad’s API approval process for each account we’re hitting with the ads API?

Thanks and regards,
Justin


#2

BTW - the error we’re getting:

{
  "errors": [
    {
      "code": "UNAUTHORIZED_CLIENT_APPLICATION",
      "message": "The client application making this request does not have access to this API"
    }
  ],
  "request": {
    "params": {}
  }

#3

Thanks for the question, @EaglePtPartners. Our Obtaining Ads Account Access documentation has information on the two ways to get access to an advertiser’s account

  1. Obtain advertiser OAuth tokens
  2. Use your OAuth tokens via an Ads Manager role

We recommend the first approach, which can be implemented using 3-legged auth.

Hope this helps!


#4

Thanks @juanshishido.

Have gone through the steps in that post, and have gotten the advertisers oauth tokens as per below steps, but still problems.

  • twurl authorize --consumer-key < CONSUMER_KEY > --consumer-secret < CONSUMER_SECRET >
    • Paste in URL into browser
    • Approve in browser
    • Paste back PIN into twurl
  • use twurl to get campaigns on account:
  • Returns ‘UNAUTHORIZED_CLIENT_APPLICATION’

I’ve created two apps. Above account (18ce54h6gph) works with one of the apps, but not the second. App IDs:

  • 13391021 (working)
  • 13712175 (not working)

Neither app works with 3rd party twitter accounts (e.g 18ce54h9z4a)

One question that’s not so clear to me. Does ‘Ad API approval’ work on an app level or on a user level?


#5

This is because only 13391021 has been granted access to the Ads API.

It’s the apps that get granted access to the Ads API.


#6

Thanks @juanshishido I’m a little more clear on this now and why it’s not working for us.

We have an app that has API access (13391021 for account 18ce54h6gph), trying to access a 3rd party ads API (Handle: @qs_dublin - A/C: 18ce54h9z4a), but it’s getting a ‘NOT_FOUND’ error.

It looks like it doesn’t recognise the account because twurl isn’t passing in any 3rd party tokens (access or consumer) - when examining the twurl headers.

So - the question is:

  • How do I access 3rd party accounts with from an app in twurl?

Thanks again,
Justin


Access Request for Ads API
#7

FYI - I’m running into the same issues in PHP code.

Response is:
code = NOT_FOUND message = Account 18ce54h9z4a was not found

Thanks again,
Justin


#8

Thanks for the additional information, @EaglePtPartners.

The first recommendation is to check your ~/.twurlrc file. For each of the entries in the profiles section, the consumer_key and consumer_secret should match and should be associated with the the app that has been granted access to the Ads API: 13391021.

Please let us know if this helps.


#9

Thanks so much @juanshishido - I was getting confused with the process of giving twitter accounts approval to an app.

Just for clarity & for anyone else having the same issue and find themselves here. The process is:

  • In twurl - execute an ‘approval’ command - where key & secret are of the app
    • twurl authorize --consumer-key ***************** --consumer-secret *************************
  • Copy auth URL outputted from twurl
  • Open browser and log into account you want to give app access to
  • paste auth URL from twurl into browser
  • Approve app in browser
  • Copy PIN from browser & paste into twurl command line - success
  • Verify account added to twurl
    • twurl accounts
  • Verify access to 3rd party account: