You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Google Photos API batchAddMediaItemsToAlbum遇‘Expect array’错误求助

问题

调用Google Photos API的batchAddMediaItemsToAlbum方法时触发异常,错误信息为:

" Expect array. "

相关代码如下:

public function album_addIds($itemIds, $albumId) {
    if (!is_array($itemIds)) {
      $itemIds = [$itemIds];
    }
    try {
      $response = $this->service->batchAddMediaItemsToAlbum($albumId, $itemIds);
    } catch (\Exception $ex) {
      $noop = 1;
    }
}

已确认:$albumId为字符串类型,经断点验证$itemIds确实是数组。

排查思路与解决方案
  • 检查API方法参数格式要求
    Google Photos PHP客户端库的batchAddMediaItemsToAlbum方法,第二个参数并非直接传入ID数组,而是需要构造包含mediaItemIds字段的关联数组,这是API要求的请求体结构。

  • 修正参数传递方式
    修改调用方法的代码,将$itemIds包装到指定结构中:

$response = $this->service->batchAddMediaItemsToAlbum($albumId, [
    'mediaItemIds' => $itemIds
]);
  • 验证客户端库版本
    若使用的是旧版本Google Photos客户端库,可能存在参数格式差异。确认当前库版本与官方文档匹配,必要时更新到最新稳定版。

  • 检查数组内容合法性
    确保$itemIds数组内的每个元素都是有效的字符串类型MediaItem ID,避免空值、非字符串元素。可添加校验逻辑:

foreach ($itemIds as $id) {
    if (!is_string($id) || empty($id)) {
        throw new \InvalidArgumentException('Invalid media item ID');
    }
}

内容的提问来源于stack exchange,提问作者Datadimension

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:04:57