Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Paypal 哪个URL向我的Google应用程序脚本发出了请求?_Paypal_Google Apps Script - Fatal编程技术网

Paypal 哪个URL向我的Google应用程序脚本发出了请求?

Paypal 哪个URL向我的Google应用程序脚本发出了请求?,paypal,google-apps-script,Paypal,Google Apps Script,如何确定发送到Google Apps脚本web应用程序的GET或POST请求的源URL 我正在制作(PayPal IPN)侦听器脚本,希望能够区分请求是来自测试环境(沙箱)还是来自实时环境 对侦听器的请求的来源决定了脚本的响应。侦听器必须将响应发送回PayPal,根据请求来自哪个环境,响应需要返回到沙盒服务器或live服务器 我希望在我的谷歌应用程序脚本中区分来自sandbox.paypal.com或www.paypal.com的请求 为了解决此要求,我现在已手动设置: if(PPRunMode

如何确定发送到Google Apps脚本web应用程序的GET或POST请求的源URL

我正在制作(PayPal IPN)侦听器脚本,希望能够区分请求是来自测试环境(沙箱)还是来自实时环境

对侦听器的请求的来源决定了脚本的响应。侦听器必须将响应发送回PayPal,根据请求来自哪个环境,响应需要返回到沙盒服务器或live服务器

我希望在我的谷歌应用程序脚本中区分来自
sandbox.paypal.com
www.paypal.com
的请求

为了解决此要求,我现在已手动设置:

if(PPRunMode=='test'){//在testmode中向沙箱站点发送响应
PPUrlBase=”https://www.sandbox.paypal.com/cgi-bin/webscr";
}
else{//live网站的url
PPUrlBase=”https://www.paypal.com/cgi-bin/webscr";
}

但我想知道这是否可以自动确定。

如果发布谷歌应用程序脚本,您会得到两个URL:

exec

dev


您可以注意到差异,不确定这是否是您所指的

不幸的是,没有向您的Google Apps脚本web应用程序提供请求源信息,因此无法直接确定请求来自何处

不过,您确实能够为web应用程序提供参数,因此您可以让沙盒环境中的代码使用这些参数来指示测试条件

例如,沙盒代码可以将此URL用于GET请求:

https://script.google.com/macros/s/---SCRIPT-ID---/exec?test=true
                                                       ^^^^^^^^^^
doGet(e)
函数中,您可以如下处理参数:

函数doGet(e){
如果(e.parameter.test){//处于测试模式,则向沙箱站点发送响应
PPUrlBase=”https://www.sandbox.paypal.com/cgi-bin/webscr";
}
else{//live网站的url
PPUrlBase=”https://www.paypal.com/cgi-bin/webscr";
}
...
}

对于POST请求,解决方案类似。有关详细信息,请参阅《网络应用和谷歌网站小工具指南》。

我认为问题是针对PayPal端的沙盒/实时服务器。可能是..即使我也不确定。。问题不是很清楚,谢谢你的建议,这是一个优雅的解决方案。我实现了它,将测试表单更改为带有“?test=true”参数,并将脚本更改为测试该值。工作起来很有魅力。