5

似乎与每个 XML 请求一起发送是使用 UPS Tracking API 的唯一方法:

<?xml version="1.0" ?>
<AccessRequest xml:lang='en-US'> <AccessLicenseNumber>
YOURACCESSLICENSENUMBER
</AccessLicenseNumber> <UserId>
YOURUSERID
</UserId> <Password>
YOURPASSWORD
</Password> </AccessRequest>

所以基本上你不能在桌面应用程序中使用它,因为你的用户可以找到你的密码。是的,我可以在自己的服务器上运行一个后端,但这太复杂了。UPS 是否提供了一种无需在我的应用程序的每个副本中都放置密码副本的可靠方式来进行身份验证?

4

2 回答 2

3

如果您想直接访问 UPS api,而不是通过您自己的服务器,那么您不能。UPS 提出对 api 密钥和密码的要求是有原因的:对 api 的使用方式进行一些控制(例如,必要时限制对 api 密钥的请求)。即使您决定可以让陌生人访问您的 api 密钥和密码,它也很可能会被撤销(我很确定您不允许共享这些)。所以使用api是不可能的。

作为替代方案,您可以尝试在他们的网站上使用公共跟踪(无 api)获取跟踪信息,但您可能会达到每个 IP 请求限制、csrf 令牌等,并且如果页面以任何方式更改,您会被搞砸。不是一个好主意。

简单的应用程序与否,您必须在服务器上运行其中的一部分。

于 2012-08-01T22:43:17.287 回答
1

如果不在您的服务器上运行它,真的没有办法做到这一点。但是,既然您希望您的应用程序提供跟踪信息,那么您可以做的就是为什么不在默认 Web 浏览器中打开该信息。这可行吗?

如果是这样,看看这个:http: //oreilly.com/pub/h/4106,(看逻辑而不是实现)

于 2012-08-08T15:50:15.167 回答