Aș dori ca toate albumele partajate ale unui anumit cont Google să fie automat într-un site web Drupal.
Am reușit să stabilesc o conexiune cu „Google_photos_api” și să arăt toate albumele partajate de pe site cu codul de mai jos.
<?php
$GooglePhotosService = \Drupal::service('google_photos_api.client');
încerca {
$optParams=array("pageSize" => 50);
$SharedAlbumlijst = $GooglePhotosService->googleServicePhotosLibrary->sharedAlbums->listSharedAlbums($optParams);
ksm($SharedAlbumlijst);
echo '<div id="GooglePhotos" class="grid views-view-grid">';
echo '<div class="row">';
foreach ($SharedAlbumlijst ca $album) {
echo '<div class="col-6 col-sm-6 col-md-4 col-lg-4 col-xl-3" style="margin-bottom: 10px;">';
// Obține câteva proprietăți ale unui album
$albumId = $album->getId();
$titlu = $album->getTitle();
$productUrl = $album->getProductUrl();
$coverPhotoBaseUrl = $album->getCoverPhotoBaseUrl() . '=w200-h200-c';
ecou „<h5>” . $titlu . „</h5>”;
echo '<a href="' . $coverPhotoBaseUrl . '" id="' . $albumId . '">';
echo '<img src="' . $coverPhotoBaseUrl . '" alt="' . $title . '">';
ecou '</a>';
ecou '</div>';
}
ecou '</div>';
}
prinde (Excepție $e) {
ksm($e);
}
Problema pe care nu o pot înțelege este să enumerez toate elementele media dintr-un anumit album. Codul de mai jos nu funcționează. Nu știu cum să trec ID-ul albumului în asta??
<?php
$GooglePhotosService = \Drupal::service('google_photos_api.client');
încerca {
$albumId = 'ANfpKL0unQw8nWACRpVCPj0JxmZ5JHkX_xCecI-VPFxKrFScPPfpE8HakFWvKG3KFVXNnNyigXB0';
$optParams = ['albumId' => $albumId];
$mediaItems = $GooglePhotosService->googleServicePhotosLibrary->mediaItems->search($optParams);
ksm($MediaItems);
}
prinde (Excepție $e) {
ksm($e);
}
Orice ajutor ar fi grozav!!
Mulțumesc anticipat!!
Cod de eroare:
Site-ul web a întâmpinat o eroare neașteptată. Vă rugăm să încercați din nou mai târziu.
TypeError: Argumentul 1 transmis către Google_Service_PhotosLibrary_Resource_MediaItems::search() trebuie să fie o instanță a Google_Service_PhotosLibrary_SearchMediaItemsRequest, matrice dată, numită în C:\Xampp2\htdocs\Demertr\modules\contrib\contrib\(php)')php :module(php)'1. d cod pe linia 7 din Google_Service_PhotosLibrary_Resource_MediaItems->search() (linia 79 din vendor\google\apiclient-services\src\Google\Service\PhotosLibrary\Resource\MediaItems.php).
MediaItems.php
clasa Google_Service_PhotosLibrary_Resource_MediaItems extinde Google_Service_Resource {
funcția publică de căutare(Google_Service_PhotosLibrary_SearchMediaItemsRequest $postBody, $optParams = []) {
$params = ['postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('search', [$params], 'Google_Service_PhotosLibrary_SearchMediaItemsResponse');
}
}
SearchMediaItemsRequest.php
clasa Google_Service_PhotosLibrary_SearchMediaItemsRequest extinde Google_Model {
public $albumId;
protected $filtersType = 'Google_Service_PhotosLibrary_Filters';
protejat $filtersDataType = '';
public $pageSize;
public $pageToken;
...