Thanks for the question, @josephtyler.
Let me try to clarify.
Every ads account is owned by—that is, belongs to—a single user. We refer to that user as the FULL promotable user. (It is possible for a user to own more than one ads account.) In a hierarchy, ads accounts are under users.
In terms of accessing ads accounts, there are two ways to do this (see Obtaining Ads Account Access:
- Using the ads account’s owner’s OAuth tokens.
- Using the OAuth tokens for a user other than the ads account’s owner. This only happens on ads.twitter.com under the “Edit access to account” option.
The authenticated user will always have access to the ads accounts it owns. In addition, the authenticated user will have access to ads accounts that have granted it permission.
Whenever the authenticated user is creating Tweets on behalf of a different user—this can only happen under scenario 2, above—the as_user_id request parameter has to be used.
Now, in the sandbox, all of the ads accounts created belong to the authenticated user. Scenario 2 does not exist in sandbox; there is no way for a sandbox ads account owned by a different user to give you access to their account. Because of this, the as_user_id request parameter is not needed.
I hope this helps clarify.