【问题标题】:How to add positioning enrichment to media item in Google Photos API?如何在 Google Photos API 中为媒体项目添加定位丰富?
【发布时间】:2020-11-27 19:05:44
【问题描述】:

阅读有关如何在相册中添加位置媒体项目的 Google Photos API 文档我不明白请求正文应该是什么。 https://developers.google.com/photos/library/guides/add-enrichments#supported-positioning

我想在相册album-1 中将mediaItem-1 移动到mediaItem-2 之前。我的请求正文应该是什么样子?

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"
    }
}

编辑:我不想将媒体项目重新上传到云端,因此同一媒体项目只有一个版本。

【问题讨论】:

    标签: google-api google-photos-api


    【解决方案1】:

    只能在创建媒体项目或添加丰富内容时指定位置。 无法重新组织相册中的现有媒体项目,因此在添加项目时设置项目的位置很重要。

    参考: https://developers.google.com/photos/library/guides/add-enrichments#intro-positions

    您使用的方法是用于专辑丰富。

    Enrichment Types:

    1. 文本丰富

      文本扩充是一个纯文本字符串,可以插入以注释专辑。

    2. 位置扩充

      位置扩充是一个标记和可以插入以注释位置的地点名称。

    3. 地图丰富

      地图扩充是可以插入相册的具有指定起点和终点的地图。

    其他参考: https://developers.google.com/photos/library/reference/rest/v1/albums/addEnrichment?hl=en_US#request-body


    使用位置创建示例媒体项目: https://developers.google.com/photos/library/reference/rest/v1/mediaItems/batchCreate#request-body

    {
      "albumId": string,
      "newMediaItems": [
        {
          object (NewMediaItem)
        }
      ],
      "albumPosition": {
        object (AlbumPosition)
      }
    }
    

    专辑位置

    • 相册中添加媒体项目的位置。如果未指定,则将媒体项添加到专辑的末尾(按照默认值,即 LAST_IN_ALBUM)。如果设置了该字段且未指定 albumId,则请求失败。如果您设置了该字段并且不是共享相册的所有者,请求也会失败。

    (更新)

    解决方法:

    1. 删除专辑 1 中的 mediaItem-2

    2. 使用位置参数在专辑 1 中创建 mediaItem-2,将 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
      }
    }
    

    【讨论】:

    • 能否将专辑位置和新媒体项目替换为我示例中的值?
    • 您要查找的是媒体项目位置(您设置了将新媒体项目放置在相册中的位置)。这只能在您创建新媒体项目并在请求正文中包含位置参数时完成
    • 您使用的那个是为专辑添加丰富内容(在请求正文中也可以有一个位置参数)。它将在相册中设置要插入扩充的位置。您可以在提供的链接中查看丰富的类型和示例。
    • 如前所述,相册中的现有媒体项目无法重新组织。
    • 是否可以在将媒体项目添加到另一个专辑时添加丰富内容?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 2018-12-22
    • 1970-01-01
    • 2016-08-14
    • 2019-04-05
    • 2023-03-20
    相关资源
    最近更新 更多