stock.adobe.io - как скачать файл

1. заходим на страницу проектов и нажимаем "Create new project"
2. создаем поект, входим в него
3. в проекте нажимаем "Products & services" и подключаем "Adobe Stock"
4. когда будет предложено выбрать способ подключения, выбираем PLATFORM: WEBAPP (OAuth Web App)
5. заходим на страницу нашего "OAuth Web App" и видим Client ID (API Key) и Client Secret

Поиск изображений

Найти файлы можно запросом c search_parameters (идем kittens не более 2 фоток с разрешением не менее 5000 пикселей): 

curl -H 'x-api-key: YOUR_CLIENT_ID' -H 'x-product:myApp1.1' \
https://stock.adobe.io/Rest/Media/1/Search/Files?search_parameters%5Blimit%5D=2&search_parameters%5Bfilters%5D%5Bpremium%5D=false&search_parameters%5Bwords%5D=kittens&search_parameters%5Bfilters%5D%5Bimage_width%5D=5000-

Такой запрос возвращает ссылки на миниатюры:

{
  "nb_results": 418779620,
  "files": [
    {
      "id": 754974478,
      "title": "Full Collection infographics",
      "width": 7409,
      "height": 2024,
      "creator_name": "Julien Eichinger",
      "creator_id": 153420,
      "thumbnail_url": "https://as1.ftcdn.net/v2/jpg/07/54/97/44/500_F_754974478_DpNNCsMd8BeUTDJdkkRRI32q4KoFffsO.jpg",
      "thumbnail_html_tag": "<img src=\"https://as1.ftcdn.net/v2/jpg/07/54/97/44/500_F_754974478_DpNNCsMd8BeUTDJdkkRRI32q4KoFffsO.jpg\" alt=\"Full Collection infographics\" title=\"Vector: Full Collection infographics\" zoom_ratio=\"0\" />",
      "thumbnail_width": 500,
      "thumbnail_height": 136,
      "media_type_id": 3,
      "vector_type": "zip",
      "content_type": "application/illustrator",
      "category": {
        "id": 444,
        "name": "Graphic Resources"
      },
      "stock_id": "DpNNCsMd8BeUTDJdkkRRI32q4KoFffsO",
      "premium_level_id": 0
    },
    {
      "id": 756520268,
      "title": "Quality control icon set. Containing inspection, evaluation, product, quality assurance, process, testing and more. Solid vector icons collection.",
      "width": 6864,
      "height": 2185,
      "creator_name": "Icons-Studio",
      "creator_id": 206861006,
      "thumbnail_url": "https://as1.ftcdn.net/v2/jpg/07/56/52/02/500_F_756520268_eHfocxjVzxFV9owO61BDd6DkAEFFAgkG.jpg",
      "thumbnail_html_tag": "<img src=\"https://as1.ftcdn.net/v2/jpg/07/56/52/02/500_F_756520268_eHfocxjVzxFV9owO61BDd6DkAEFFAgkG.jpg\" alt=\"Quality control icon set. Containing inspection, evaluation, product, quality assurance, process, testing and more. Solid vector icons collection.\" title=\"Vector: Quality control icon set. Containing inspection, evaluation, product, quality assurance, process, testing and more. Solid vector icons collection.\" zoom_ratio=\"0\" />",
      "thumbnail_width": 500,
      "thumbnail_height": 159,
      "media_type_id": 3,
      "vector_type": "zip",
      "content_type": "application/illustrator",
      "category": {
        "id": 444,
        "name": "Graphic Resources"
      },
      "stock_id": "eHfocxjVzxFV9owO61BDd6DkAEFFAgkG",
      "premium_level_id": 0
    }
  ]
}

но нам не нужны миниатюры, нам нужны полноценные файлы, для этого берем ID-изображений и можно смело запросить файл:

wget https://stock.adobe.com/Rest/Libraries/Watermarked/Download/756520268/2 > file.jpg

а если файл не возвращается, то можно запросить его адрес используя ID-изображения:

curl -H 'x-api-key: YOUR_CLIENT_ID' -H 'x-product:myApp1.1' \
"https://stock.adobe.io/Rest/Media/1/Files?ids=756520268&result_columns[]=comp_url"

и нам возвращается результат:

{
  "nb_results": 2,
  "files": [
    {
      "id": 77625150,
      "comp_url": "https://stock.adobe.com/Rest/Libraries/Watermarked/Download/77625150/2"
    },
    {
      "id": 117356939,
      "comp_url": "https://stock.adobe.com/Rest/Libraries/Watermarked/Download/117356939/2"
    }
  ]
}

но как видно, возвращаются Watermarked изображения, а нам нужны оригиналы, поэтому:

curl -L -o AdobeStock.jpeg 'https://stock.adobe.com/Rest/Libraries/Download/77625150/1?token=<TOKEN>'

Но где же взять TOKEN. Чтобы это сделать, нужно:

1. получить AUTHORIZATION_CODE, для этого в браузере (curl-ом не выйдет) открываем страницу:

https://ims-na1.adobelogin.com/ims/authorize/v2?client_id=YOUR_CLIENT_ID&redirect_uri=https://yapro.ru&scope=openid,creative_sdk&state=90cff02f-da33-46ec-985c-1f5cf2f9644a&response_type=code

state - это любая строка (для того, чтобы Вы защищали свой сайт, см. детали в документации)

response_type - это как раз просьба получить заветный code

2. если Вы указали корректные данные, то Вас перебрасывает на страницу https://auth.services.adobe.com/ с формой авторизации.

3. если Вы авторизовались (или были ранее авторизованы на сайте https://adobe.com), то Вас перебросит на страницу указанную в redirect_uri но с дописанными GET-параметрами, один из которых и будет параметр code, пример:

https://yapro.ru/?code=XXX&state=90cff02f-da33-46ec-985c-1f5cf2f9644a

4. теперь согласно документации пришло время получать наш TOKEN:

curl -X POST 'https://ims-na1.adobelogin.com/ims/token/v3' \
  -H 'Authorization: Basic {AUTHORIZATION}' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'code={AUTHORIZATION_CODE}&grant_type=authorization_code'

где AUTHORIZATION это echo base64_encode(clientId:clientSecret) которые мы получили в самом начале на шаге 5, получаем:

{
  "access_token": "XXX",
  "id_token": "ZZZ",
  "token_type": "bearer",
  "expires_in": 86399
}

5. надеюсь что AUTHORIZATION_CODE вещь, которая не может протухнуть, а создавать токены через API дело не сложное.

Фуф, пришло время скачать изображение, пробуем

curl -L -o AdobeStock.jpeg 'https://stock.adobe.com/Rest/Libraries/Download/472555542/1?token=<TOKEN>'

но имейте ввиду, если файл не открывается, а если заглянуть в него, то можно увидеть:

{"error":"Cannot find a download for this file and license on this entitlement","code":"201","case":"e94ec12a30d758bfb2787cb4e015e9d7"}

забавненько да? мы ведь искали бесплатные файлы, мы их нашли, а в итоге такое сообщение про лицензию.

А можно проще?

Можно получить адрес изображения вот так:

curl 'https://stock.adobe.com/ru/Ajax/GetLicenseDownloadUrl/472555542/1' \
  -X 'POST' \
  -H 'cookie: AdobeStock=1d42440ffb9189b3d564354c739ac95d; aux_sid=ARzm4F3gdGZLSZ1lv_2G2DdYnDjEccglizisN8AeYuWSf4n2ACBXwyZZYBloiIYu39CunLdm2R2_BKzJXm_kJyk9raFKOTfKb9SKk66gQ_ojfYdSNKbOyZS1zRQreO8BjHPw-iExvj8If0IX_BxXNtdLKVjGirG5JYTaWldEJW0Me35zLNo6iiqKtaQcqx0We9qPR0IW-VYV2dqdKTq08cUeGBUOCFrBYjx1yi8K9jTpeSw4STgJXHcbVfq5BkYwYc5h79_ByNPdf_RHi_5mjxHFCX9FSe41mP6So-zqpOFe5zzkmQv6oNiZrh__1Kar3zTcL6JNwQ6R7TzYJFH-Kzo_QhnRnYy_Jma8EAYBAQSMOV4paL3dHx7bGUhdSHZhM_LR5MMlNW68UNls-Ngm0x-v2Vr77eHgyUDd8hiB2EZkUAHGdGE7jY89JfaQEhaeqcnUNs6gSc3dEuRq4RZFnWe3SEbyQjoh7DJHKp3bcukDzb-CSUgxRpsIBpzMtdQzdCxBs6cYrBSpp5NVrKPG2E_LHMtwEIZnZbJN1FDrBl-kHawn2tEbs1gNGnsaxTTXWGX7Ha1fWg6ukzqsvcEwxApfv4Gi6mYPLpiccd76ERiI-8st6OQrNs0xXnbi8JEQPURVBk1WEJRdPUbusjxqU18eyX1QxP1s3qOuUE7wFHBarm63NqvVbQMr858a5lNaB2bYguL-jZXIzbylRO_PerkILwDJ8zS6MiqyLUHzZ6Wd3pW_0JKoJHvOdnFbIPKRLp9AqUvdgMA' \
  -H 'x-csrf-token: NxhlWxe1ToUHNQNWIRPo-z9nK41MuJ55OGzSAVZNHfk' | jq

Но как получить AdobeStock, aux_sid, и x-csrf-token я пока оставляю за кадром.

Случайно про авторизацию на сайте adobe.com: 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9  - 10 - 11 - 12 - 13 - 14 - песочница


11.09.2021 07:08

Комментарии

Комментариев пока нет.


Copyrights © 2007 - 2026 YaPro.Ru