За последние 24 часа нас посетили 22400 программистов и 1025 роботов. Сейчас ищут 680 программистов ...

yandex api

Тема в разделе "PHP для профи", создана пользователем mixnet, 21 ноя 2019.

  1. mixnet

    mixnet Новичок

    С нами с:
    11 авг 2018
    Сообщения:
    146
    Симпатии:
    7
    пытаюсь получить список картинок с яндекс диска, но ссылка формируется таким образом

    https://downloader.disk.yandex.ru/preview/9159bd5a4d406d3c7d47a0ed565a6efab40332bd4593eb9fa2fccc073d927f5e/inf/gJ9KiimGoYbGCe2IrDWcVGycE3C0fjH29HfwRtDDKVygSgSgsryLElCdDXXAJj1BBccTjprd_uY3WWhDvvyBVA==?uid=908587571&filename=Зима.jpg&disposition=inline&hash=&limit=0&content_type=image/jpeg&owner_uid=908587571&tknv=v2&size=300x300&crop=0

    вот сам код

    Код (Text):
    1. require_once "libs/autoload.php";
    2. define('ACCESS_TOKEN', 'ACCESS_TOKEN');
    3.  
    4. use Yandex\Disk\DiskClient;
    5.  
    6. $diskClient = new DiskClient(ACCESS_TOKEN);
    7. $diskClient->setServiceScheme(DiskClient::HTTPS_SCHEME);
    8. // Получаем имена файлов в каталоге
    9. $dirContent = $diskClient->directoryContents();
    10.  
    11. $img_names = array(); // массив с именами файлов
    12. foreach ($dirContent as $dirItem) {
    13.     if ($dirItem['resourceType'] != 'dir') {
    14.         array_push($img_names, $dirItem['displayName']);
    15.     }
    16. }
    17. $img_priviews = array();
    18. foreach($img_names as $img) {
    19.     $headers = array("Authorization: ".ACCESS_TOKEN);
    20.     $curl = curl_init('https://cloud-api.yandex.net/v1/disk/resources?path=disk:/Новая папка/'.$img.'&preview_size=300x300');
    21.     curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    22.     curl_setopt($curl,CURLOPT_HEADER, false);
    23.     curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    24.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    25.     $info = curl_exec($curl);
    26.     $response = json_decode($info);
    27.     array_push($img_priviews, $response->preview);
    28. }
    29.  
    30.  
    31. foreach($img_priviews as $imgs) {
    32.     echo '<img src="'.$imgs.'">';
    33.  
    34. }
    картинки не отображаются превьюшкой так как формируется я так предполагаю не корректная ссылка, как исправить? но если перейти по картинки то она откроется.... не могу понять почему так
     
    #1 mixnet, 21 ноя 2019
    Последнее редактирование: 21 ноя 2019
  2. mixnet

    mixnet Новичок

    С нами с:
    11 авг 2018
    Сообщения:
    146
    Симпатии:
    7
    разобрался код правильный, только почему то получаю ошибку 403
     
  3. mixnet

    mixnet Новичок

    С нами с:
    11 авг 2018
    Сообщения:
    146
    Симпатии:
    7
    все сделал)