Я использую API Google google photos. У меня почти все работает, но $ filtersBuilder-> addIncludedCategory (), похоже, не работает. Всякий раз, когда я добавляю включенную или исключенную категорию, searchMediaItems возвращает внутреннюю ошибку API.
function getCat($val){
if (strcasecmp($val,"ANIMALS")==0){return ContentCategory::ANIMALS;}
else if (strcasecmp($val,"LANDMARKS")==0){return ContentCategory::LANDMARKS;}
else if (strcasecmp($val,"PETS")==0){return ContentCategory::PETS;}
else if (strcasecmp($val,"BIRTHDAYS")==0){return ContentCategory::BIRTHDAYS;}
else if (strcasecmp($val,"LANDSCAPES")==0){return ContentCategory::LANDSCAPES;}
else if (strcasecmp($val,"RECEIPTS")==0){return ContentCategory::RECEIPTS;}
else if (strcasecmp($val,"WEDDINGS")==0){return ContentCategory::WEDDINGS;}
else if (strcasecmp($val,"CITYSCAPES")==0){return ContentCategory::CITYSCAPES;}
else if (strcasecmp($val,"NIGHT")==0){return ContentCategory::NIGHT;}
else if (strcasecmp($val,"SCREENSHOTS")==0){return ContentCategory::SCREENSHOTS;}
else if (strcasecmp($val,"WHITEBOARDS")==0){return ContentCategory::WHITEBOARDS;}
else if (strcasecmp($val,"PEOPLE")==0){return ContentCategory::PEOPLE;}
else if (strcasecmp($val,"SELFIES")==0){return ContentCategory::SELFIES;}
else if (strcasecmp($val,"FOOD")==0){return ContentCategory::FOOD;}
else if (strcasecmp($val,"PERFORMANCES")==0){return ContentCategory::PERFORMANCES;}
else if (strcasecmp($val,"SPORT")==0){return ContentCategory::SPORT;}
return null;
}
$filtersBuilder = new FiltersBuilder();
$filtersBuilder->setMediaType(MediaType::PHOTO);
$nv = getCat($parts[$i]);
if ($nv!=null){
$filtersBuilder->addIncludedCategory($nv);
error_log("Added incat " . $parts[$i] . " val " . $nv);
}
$response = $photosLibraryClient->searchMediaItems(['pageSize' => '50', 'filters' => $filtersBuilder->build()]);
Известны ли ошибки в категориях? У кого-нибудь есть рабочий пример фильтра с категориями?