I'm trying to make a Python script that connects with TikTok's API, for which I've made an app on https://business-api.tiktok.com/. However, I'm completely unable to get an access token out of their API. I've followed the instructions from this documentation:
https://developers.tiktok.com/doc/oauth-user-access-token-management
Running the following code:
import requests
headers = {"Content-Type": "application/x-www-form-urlencoded"}
token_url = "https://ads.tiktok.com/open_api/oauth2/access_token_v2/"
data = {
"client_key": app_id,
"client_secret": app_secret,
"code": my_authorization_code,
"grant_type": "authorization_code",
"redirect_uri": "https://www.mysamplewebsite.co.uk/"
}
r = requests.post(token_url,
data=data,
headers={"Content-Type": "application/x-www-form-urlencoded"}
)
just leads to the response:
"{"code": 40006, "message": "Be advised that API versions 1.1 and earlier are now deprecated. Please migrate to v1.3 as soon as possible to avoid any disruptions.", "request_id": "asdsadfjklahf123123", "data": {}}"
Which is bizarre since I'm following the latest API documentation from their own website.
I've also tried several Oauth2 modules but none have worked at all, e.g.:
from requests_oauthlib import OAuth2Session
oauth = OAuth2Session(app_id, redirect_uri=redirect_url, scope=[])
token = oauth.fetch_token(
token_url,
authorization_response=authorization_code_url,
client_secret=secret_key,
auth=HTTPBasicAuth(app_id, secret_key)
)
just leads to the error "MissingTokenError: (missing_token) Missing access token parameter."
The authorization code I'm using is the code found in the URL by following the advertiser authorization URL on the app info & authorizing with my login. The token URL is https://open.tiktokapis.com/v2/oauth/token/.
Can anyone see what I'm doing on here? Or is it something about TikTok's API that I'm missing? I can't find any useful instructions on how to do this online.