ฉันต้องการให้อัลบั้มที่แชร์ทั้งหมดของบัญชี Google หนึ่งๆ เข้าสู่เว็บไซต์ Drupal โดยอัตโนมัติ
ฉันสามารถสร้างการเชื่อมต่อกับ 'Google_photos_api' และแสดงอัลบั้มที่แชร์ทั้งหมดบนไซต์ด้วยรหัสด้านล่าง
<?php
$GooglePhotosService = \Drupal::service('google_photos_api.client');
พยายาม {
$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 เป็น $album) {
echo '<div class="col-6 col-sm-6 col-md-4 col-lg-4 col-xl-3" style="margin-bottom: 10px;">';
// รับคุณสมบัติบางอย่างของอัลบั้ม
$albumId = $album->getId();
$title = $album->getTitle();
$productUrl = $album->getProductUrl();
$coverPhotoBaseUrl = $album->getCoverPhotoBaseUrl() '=w200-h200-c';
เสียงสะท้อน '<h5>' . $ชื่อเรื่อง '</h5>';
echo '<a href="' . $coverPhotoBaseUrl . '" id="' . $albumId . '">';
echo '<img src="' . $coverPhotoBaseUrl . '" alt="' . $title . '">';
เสียงสะท้อน '</a>';
เสียงสะท้อน '</div>';
}
เสียงสะท้อน '</div>';
}
catch (ยกเว้น $e) {
ksm($อี);
}
ปัญหาที่ฉันคิดไม่ออกคือการแสดงรายการสื่อทั้งหมดของอัลบั้มที่กำหนด รหัสด้านล่างไม่ทำงาน ฉันไม่รู้ว่าจะส่ง ID อัลบั้มเข้าไปได้อย่างไร??
<?php
$GooglePhotosService = \Drupal::service('google_photos_api.client');
พยายาม {
$albumId = 'ANfpKL0unQw8nWACRpVCPj0JxmZ5JHkX_xCecI-VPFxKrFScPPfpE8HakFWvKG3KFVXNnNyigXB0';
$optParams = ['albumId' => $albumId];
$mediaItems = $GooglePhotosService->googleServicePhotosLibrary->mediaItems->ค้นหา($optParams);
ksm($สื่อรายการ);
}
catch (ยกเว้น $e) {
ksm($อี);
}
ความช่วยเหลือใด ๆ จะดีมาก !!
ขอบคุณล่วงหน้า!!
รหัสข้อผิดพลาด:
เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด กรุณาลองใหม่อีกครั้งในภายหลัง.
TypeError: อาร์กิวเมนต์ 1 ที่ส่งไปยัง Google_Service_PhotosLibrary_Resource_MediaItems::search() ต้องเป็นอินสแตนซ์ของ Google_Service_PhotosLibrary_SearchMediaItemsRequest อาร์เรย์ที่กำหนด ซึ่งเรียกใน C:\Xampp2\htdocs\Demertr\modules\contrib\php\php.module(81) : eval()' d โค้ดในบรรทัดที่ 7 ใน Google_Service_PhotosLibrary_Resource_MediaItems->search() (บรรทัดที่ 79 ของ vendor\google\apiclient-services\src\Google\Service\PhotosLibrary\Resource\MediaItems.php)
MediaItems.php
คลาส Google_Service_PhotosLibrary_Resource_MediaItems ขยาย Google_Service_Resource {
ค้นหาฟังก์ชั่นสาธารณะ (Google_Service_PhotosLibrary_SearchMediaItemsRequest $postBody, $optParams = []) {
$params = ['postBody' => $postBody];
$params = array_merge($params, $optParams);
ส่งคืน $this->call('ค้นหา', [$params], 'Google_Service_PhotosLibrary_SearchMediaItemsResponse');
}
}
SearchMediaItemsRequest.php
คลาส Google_Service_PhotosLibrary_SearchMediaItemsRequest ขยาย Google_Model {
$albumId สาธารณะ;
ป้องกัน $filtersType = 'Google_Service_PhotosLibrary_Filters';
ป้องกัน $filtersDataType = '';
สาธารณะ $pageSize;
สาธารณะ $pageToken;
...