1

我正在尝试过滤来自 Google Photos API 的相册内容(仅获取照片),但文档说:

如果设置了 albumId,则不应在 mediaItems:search 请求中使用过滤器。如果在设置 albumId 时使用过滤器,则返回 INVALID_ARGUMENT 错误 (400)。

这是否意味着我必须下载所有文件,而不是使用 MIME 类型过滤我自己的响应?还是可以直接在请求中完成?

谢谢!

我的代码:

var params = JSON.parse(localStorage.getItem('oauth2-params'));
      var xhr = new XMLHttpRequest();
      xhr.open('POST',
          'https://photoslibrary.googleapis.com/v1/mediaItems:search?' +
          'access_token=' + params['access_token'] +
          '&pageSize=25' +
          '&albumId=' + albumId +
          '&pageToken=' + this.albums[albumId].photos.nextPagination);
      xhr.responseType = "json";
      xhr.onreadystatechange = (e) => {
          if (xhr.readyState === 4 && xhr.status === 200) {

            // handling the respons...


          } else if(xhr.readyState === 4) {
            console.log(xhr.status, xhr.response);
          }
        };

        xhr.send(null);
4

1 回答 1

0

不幸的是,目前您不能同时指定媒体类型和专辑作为搜索请求的参数。这里的问题跟踪器上有一个请求。您可以为问题“加注星标”以收到任何更新的通知。

现在,您可以自行进行过滤,而无需自己下载文件:检查媒体项目mimeType的和mediaMetadata属性。该字段指示它是什么类型的文件(例如,或)。或者,您也可以检查属性是否包含.mimeTypeimage/jpegimage/pngmediaMetadataphoto

于 2018-10-03T04:36:25.747 回答