#google-api #google-photos-api
#google-api #google-photos-api
Вопрос:
Читая документацию Google Photos API о том, как добавлять элементы позиционирования в альбом, я не могу понять, каким должно быть тело запроса. https://developers.google.com/photos/library/guides/add-enrichments#supported-positioning
Я хочу перейти mediaItem-1
к тому, чтобы быть раньше mediaItem-2
в альбоме album-1
. Как должно выглядеть тело моего запроса?
POST https://photoslibrary.googleapis.com/v1/albums/album-1:addEnrichment
{
"newEnrichmentItem": {
enrichment-to-be-added // What goes here?
},
"albumPosition": {
"position": "after-media-item",
"relativeMediaItemId": "mediaItem-2"
}
}
РЕДАКТИРОВАТЬ: я не хочу повторно загружать элемент мультимедиа в облако, поэтому будет только одна версия одного и того же элемента мультимедиа.
Ответ №1:
Позиция может быть указана только при создании элемента мультимедиа или добавлении обогащений. Существующие элементы мультимедиа в альбоме не могут быть реорганизованы, поэтому важно установить положение элемента при его добавлении.
Ссылка: https://developers.google.com/photos/library/guides/add-enrichments#intro-positions
Метод, который вы используете, предназначен для обогащения альбома.
- Обогащение текста
Обогащение текста — это обычная текстовая строка, которая может быть вставлена для аннотирования альбома.
- Обогащение местоположения
Обогащение местоположения — это маркер и название места, которые можно вставить для обозначения местоположения.
- Обогащение карты
Обогащение карты — это карта с указанным источником и пунктом назначения, которую можно вставить в альбом.
Дополнительные ссылки: https://developers.google.com/photos/library/reference/rest/v1/albums/addEnrichment?hl=en_US#request-body
Пример создания элемента мультимедиа с position:
https://developers.google.com/photos/library/reference/rest/v1/mediaItems/batchCreate#request-body
{
"albumId": string,
"newMediaItems": [
{
object (NewMediaItem)
}
],
"albumPosition": {
object (AlbumPosition)
}
}
Расположение альбомов
- Позиция в альбоме, в которую добавляются элементы мультимедиа. Если не указано, элементы мультимедиа добавляются в конец альбома (согласно значению по умолчанию, то есть LAST_IN_ALBUM). Запрос завершается ошибкой, если это поле установлено, а идентификатор альбома не указан. Запрос также завершится ошибкой, если вы задали поле и не являетесь владельцем общего альбома.
(ОБНОВЛЕНИЕ)
Обходной путь:
- Удалить элемент MediaItem-2 в альбоме-1
- Создайте MediaItem-2 в альбоме-1 с параметром позиции, который разместит MediaItem-2 после MediaItem-1 https://developers.google.com/photos/library/reference/rest/v1/AlbumPosition#PositionType
Тело вашего запроса для создания элемента мультимедиа:
{
"albumId": album-1,
"newMediaItems": [
{
object (mediaItem-2)
}
],
"albumPosition": {
"position": AFTER_MEDIA_ITEM.
"relativeMediaItemId": mediaItem-1
}
}
Комментарии:
1. Не могли бы вы заменить позицию альбома и новый элемент мультимедиа значениями в моем примере?
2. то, что вы ищете, — это положение элемента мультимедиа (вы указываете, где разместить новый элемент мультимедиа в вашем альбоме). Это можно сделать только при создании нового элемента мультимедиа и включении параметров положения в тело запроса
3. тот, который вы использовали, предназначен для добавления обогащения в альбом (который также может иметь параметр позиции в теле запроса). Он установит позицию в альбоме, куда должно быть вставлено обогащение. Вы можете проверить типы и примеры обогащения по предоставленной ссылке.
4. Как упоминалось ранее, существующие элементы мультимедиа в альбоме не могут быть реорганизованы.
5. Можно ли добавить обогащение при добавлении элемента мультимедиа в другой альбом?