似乎使用每个XML请求发送此信息是使用UPS Tracking API的唯一方法:
<?xml version="1.0" ?>
<AccessRequest xml:lang='en-US'> <AccessLicenseNumber>
YOURACCESSLICENSENUMBER
</AccessLicenseNumber> <UserId>
YOURUSERID
</UserId> <Password>
YOURPASSWORD
</Password> </AccessRequest>
所以基本上你不能在桌面应用中使用它,因为你的用户可以找到你的密码。是的,我可以在自己的服务器上运行后端,但这不必要地复杂化。 UPS是否提供了一种合理的身份验证方式,而无需在我的应用程序的每个副本中放入密码副本?
答案 0 :(得分:3)
如果您想直接访问UPS api,而不是通过您自己的服务器,那么您不能。 UPS已经对api密钥和密码提出了要求,原因是:要对api的使用方式进行一些控制(例如,如果需要,可以对api密钥进行限制请求)。 即使你决定可以让陌生人访问你的api密钥和密码,它很可能会被撤销(我很确定你不能分享这些)。所以使用api是不可能的。
作为替代方案,您可以尝试使用公共跟踪(无api)在他们的网站上获取跟踪信息,但您可能会按照IP请求限制,csrf令牌等进行搜索,并且如果页面发生变化,您应该以任何方式进行更改。不是个好主意。
简单的应用程序或不是你必须在你的服务器上运行它的一部分。
答案 1 :(得分:1)
如果不在服务器上运行它,就没有办法做到这一点。但是,您可以做什么,因为您希望应用程序提供跟踪信息,这就是为什么不在默认Web浏览器中打开该信息。 这可行吗?
如果是这样,请看一下:http://oreilly.com/pub/h/4106,(查看逻辑而不是实现)