API Google Фото - Список содержимого библиотеки - Запрос содержит недопустимый аргумент - Недавнее изменение?

Фотографии Google недавно внесли изменения в свой API (я думаю), 1 августа. Они изменили содержимое библиотеки листинга с POST на GET. И теперь мой код больше не работает. https://developers.google.com/photos/library/guides/list

Вот снимок кода:

payload = {"pageSize" : "500", "pageToken" : parsed_json['nextPageToken']}
#payload = {"pageSize" : "500"}
#payload = {"pageToken" : parsed_json['nextPageToken']}
myResponse = requests.get('https://photoslibrary.googleapis.com/v1/mediaItems', headers={"Content-type" : "application/json", "Authorization" : "Bearer " + credentials.access_token}, params=payload)
parsed_json = json.loads(myResponse.content)

Этот код дает мне ошибку: "error": {"code": 400, "message": "Запрос содержит недопустимый аргумент.", "Status": "INVALID_ARGUMENT"}

Кажется, что если я передаю два параметра в запрос GET, я получаю сообщение об ошибке. Но если я передаю только один параметр в запрос GET, либо pageSize, либо pageToken, он будет работать нормально. (этот код также включен, но закомментирован).

Это работало нормально до 1 августа, когда я подумал, что Google внес изменения.

Учитывая, что я новый программист, я чувствую, что мне здесь не хватает чего-то ключевого, но я вообще не могу понять, что это такое.

Любая помощь приветствуется!


person awightma    schedule 05.08.2018    source источник
comment
Я просто хотел сообщить вам, что у меня такая же проблема в моем приложении для Android. Это должно быть изменение от Google, как вы предложили.   -  person Quentin Menini    schedule 08.08.2018


Ответы (1)


Думаю, я понял, в чем ваша проблема. В документации есть предложение, в котором говорится: «NextPageToken действителен только для того же запроса. Если какие-либо параметры изменены, ранее использованный nextPageToken не должен использоваться в том же запросе».

У меня была та же проблема, что и у вас, потому что первый загруженный мной размер страницы был 500, а затем я хотел загрузить страницы из 200 элементов (для более плавной прокрутки). Сначала это работало, но потом было изменение, и оно больше не работало (INVALID_ARGUMENT).

Возможно, у вас возникла эта проблема, потому что первый GET, который вы сделали (тот, который дал вам токен), не имел того же pageSize, что и тот, который вы делаете с токеном.

Между прочим, я все еще использую POST для вывода списка содержимого библиотеки, поскольку я загружал бы содержимое альбома без указания albumId, и, похоже, он работает нормально.

person Quentin Menini    schedule 08.08.2018