2014-11-01 45 views
-3

我通过Javascript脚本的Photoshop的基本思想API集成..用Photoshop

我想在我的Photoshop脚本http://www.wunderground.com(API)的使用数据。

但不知道如何请求(访问)这些数据。

任何人都可以指导我如何去做。

问候

+0

你有没有尝试过任何你自己呢? – 2014-11-01 14:08:54

回答

0

我可以做这种事情,但我不知道它是多么笨拙的 - 有可能是一个更简单的方法,我不知道 - 所以我们会看到是否有人想出更好的东西。

首先,寻找到你的PHP的位置,这样的:

which php 
/usr/local/bin/php 

让我看到我的是在/usr/local/bin/php。我需要为我的PHP脚本的第一行。

现在创建一个访问Wunderground API的独立PHP脚本。我没有钥匙,所以我实际上没有调用他们的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和chosse Test.jsx

下面是它的外观:

enter image description here