Google API – Дисплей и Видео 360 Python. Как правильно загрузить ассет
import googleapiclient
import httplib2
from googleapiclient import discovery
from googleapiclient.http import MediaFileUpload
from oauth2client import service_account
CREDENTIALS_FILE = "DV360API_TEST.json"
SCOPES = 'https://www.googleapis.com/auth/display-video'
credentials = service_account.ServiceAccountCredentials.from_json_keyfile_name(CREDENTIALS_FILE, SCOPES)
httpAuth = credentials.authorize(httplib2.Http())
service = googleapiclient.discovery.build('displayvideo', 'v1', http=httpAuth)
body = {
'filename': "test_asset"
}
media = MediaFileUpload("200x200.jpg")
if not media.mimetype():
media = MediaFileUpload("200x200.jpg", 'application/octet-stream')
response = service.advertisers().assets().upload(
advertiserId=ADVERTISER_ID,
body=body,
media_body=media
).execute()
print("Asset was created with media ID %s." % response['asset']['mediaId'])
Но есть ошибка
Отслеживание (последний последний вызов): файл "D:/Python/dv360/asset_upload.py", строка 24, ответ = service.advertisers().assets().upload( File "D:\Python\dv360\venv \lib\site-packages\googleapiclient_helpers.py", строка 134, в positional_wrapper return wrapper(*args, **kwargs) File "D:\Python\dv360\venv\lib\site-packages\googleapiclient\http.py" , строка 915, при выполнении поднять HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError: <HttpError 400 при запросе https://displayvideo.googleapis.com/upload/v1/advertisers/ADVERTISER_ID/assets?alt=json&amp;uploadType=multipart вернул "INTERNAL_ERROR: Внутренняя ошибка". Подробности: "INTERNAL_ERROR: Внутренняя ошибка">
У меня эта ошибка только при загрузке ресурса, когда я получаю список рекламодателя или кампании, все идет правильно