Paypal 哪个URL向我的Google应用程序脚本发出了请求?
如何确定发送到Google Apps脚本web应用程序的GET或POST请求的源URL 我正在制作(PayPal IPN)侦听器脚本,希望能够区分请求是来自测试环境(沙箱)还是来自实时环境 对侦听器的请求的来源决定了脚本的响应。侦听器必须将响应发送回PayPal,根据请求来自哪个环境,响应需要返回到沙盒服务器或live服务器 我希望在我的谷歌应用程序脚本中区分来自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
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”参数,并将脚本更改为测试该值。工作起来很有魅力。