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-1f5cf2f9644a4. теперь согласно документации пришло время получать наш 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 - песочница
Комментарии
Комментариев пока нет.