我正在开发Photoshop和Google Apps Script组合API。我在Google Apps脚本中创建了API网址,但我无法在我的Photoshop脚本中创建并获得结果。
This is the complete URL,点击此按钮即可获得JSON结果(意大利世界杯)。
var ui = require("ui");
var http = require("http");
var api = "https://script.google.com/macros/s/AKfycbza_1YFg7Gux0qs_zRnrjNoIumNA-pTlAzUYKor9DIYTEWVRQjf/exec";
function makeGet(url, input, token){
var req = new http.HTTPRequest("GET", api+"?action=get&prodid=1934 World Cup Italy");
req.header("Content-Type", "application/x-www-form-urlencoded");
var res = req.do();
if(res.status != 200){
// alert('ddd');
return (res.body);
}
// $.writeln(res.status == 200);
// $.writeln(res.body);
return JSON.parse(res.body);
}
如何从Photoshop脚本中调用此API?
答案 0 :(得分:0)
在使用Photoshop和API调用时,您会遇到一些障碍,但是下面的信息将使您走上正确的道路。
首先,Photoshop仅公开用于TCP的Socket对象。以下是estk.aenhancers.com JavaScript工具指南CC:http://estk.aenhancers.com/6%20-%20External%20Communication%20Tools/socket-object.html?highlight=socket
中有关如何使用Socket对象的代码段。reply = "";
conn = new Socket;
// access Adobe's home page
if (conn.open ("www.adobe.com:80")) {
// send a HTTP GET request
conn.write ("GET /index.html HTTP/1.0\n\n");
// and read the server's reply
reply = conn.read(999999);
conn.close();
}
第二,Photoshop没有对JSON.parse / JSON.stringify的本机支持,因此您需要一个外部库。我建议使用tonton-pixel的JSON Action Manager,特别是jamJSON:http://www.tonton-pixel.com/JSON%20Action%20Manager/jsDoc/symbols/jamJSON.html
希望这会有所帮助!