Интеграция API с Photoshop
У меня есть основная идея сценариев Photoshop через Javascript..
Я хочу использовать данные из http://www.wunderground.com/ (Api) в моем скрипте фотошопа.
Но понятия не имею, как запросить (получить доступ) эти данные.
Может ли кто-нибудь направить меня, как это сделать.
С уважением
1 ответ
Я могу сделать что-то подобное, но я не уверен, насколько это неуклюже - может быть, есть более простой способ, которого я не знаю, - так что посмотрим, придет ли кто-нибудь еще что-нибудь получше.
Сначала найдите, где находится ваш PHP, например так:
which php
/usr/local/bin/php
так что я вижу, что мой в /usr/local/bin/php
, Мне нужно это для первой строки моего скрипта PHP.
Теперь создайте автономный скрипт PHP, который обращается к API Wunderground. У меня нет ключа, поэтому я на самом деле не назвал их API, скорее я закомментировал вызовы, а затем подделал результаты. Поэтому я сохраняю это как /Users/Mark/tmp/wunderground.php
#!/usr/local/bin/php
<?php
// $json_string = file_get_contents("http://api.wunderground.com/api/Your_Key/geolookup/conditions/q/IA/Cedar_Rapids.json");
// $parsed_json = json_decode($json_string);
// $location = $parsed_json->{'location'}->{'city'};
// $temp_f = $parsed_json->{'current_observation'}->{'temp_f'};
// echo "Current temperature in ${location} is: ${temp_f}\n";
echo "Current temperature in 36";
?>
Я делаю этот исполняемый файл так:
chmod +x /Users/Mark/tmp/wunderground.php
и запустите это так:
/Users/Mark/tmp/wunderground.php
Current temperature is 36
Этот шаг ДОЛЖЕН сработать, прежде чем вы сделаете что-то еще, поэтому я тестирую его отдельно... выглядит хорошо!
Теперь я пишу Photoshop Actionscript/Javascript и сохраняю его как <Photoshop>/Presets/Scripts/Test.jsx
alert("Hello world!")
app.system("/Users/Mark/tmp/wunderground.php > /Users/Mark/result.txt")
var w = new File("/Users/Mark/result.txt");
w.open('r');
var str = "";
while(!w.eof)
str += w.readln();
w.close();
alert(str);
Вы видите, что выполняет PHP
сценарий во второй строке и сохраняет результат в файл, который я затем читаю и отображаю содержимое в alert()
,
Итак, я перезапускаю Photoshop, так как редактирую свой скрипт (он только анализирует их при запуске), а затем я иду в Photoshop, чтобы File->Scripts
и выбор Test.jsx
Вот как это выглядит: