2012-07-27 8 views
5

Es scheint, dass mit jeder XML-Anforderung des Senden der einzige Weg ist, um das UPS Tracking API verwenden:UPS-Paket-Tracking-API - wie Passwort nicht offenlegen?

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

Also im Grunde kann man es nicht in einer Desktop-Anwendung verwenden, da die Benutzer zu finden wären in der Lage Ihr Passwort. Und ja, ich könnte ein Backend auf meinem eigenen Server ausführen, aber das ist unnötig kompliziert. Bietet UPS eine vernünftige Möglichkeit zur Authentifizierung, ohne dass eine Kopie des Passworts in jede Kopie meiner App geschrieben werden muss?

+0

Downvoters nie Kommentare zu „downvoter“ richtet Benachrichtigung, so dass es sinnlos ist zu fragen ... – sarnold

+1

Warum sollte verbietet es Ihnen, eine Desktop-Anwendung zu schreiben? Sicherlich wird jeder Ihrer Benutzer über eigene Konten mit eigenen Adressen, eigener Abrechnung usw. verfügen. – sarnold

+0

@sarnold: Ich möchte eine Anwendung erstellen, die dem Benutzer Tracking-Informationen bereitstellt. So würde der Benutzer nur eine Tracking-Nummer ID eingeben, keine zusätzlichen Informationen. Jeder Benutzer sich zuerst bei UPS registrieren zu müssen, wäre ein mühsamer Prozess ... – houbysoft

Antwort

3

Wenn Sie direkt auf UPS api zugreifen möchten, nicht über Ihren eigenen Server, können Sie dies nicht tun. UPS hat die Anforderung für API-Schlüssel und Passwort aus einem Grund gestellt: um etwas Kontrolle zu haben, wie die API verwendet wird (und zum Beispiel Drosselungsanforderungen für API-Schlüssel, falls erforderlich). Selbst wenn du entscheidest, dass du damit leben kannst, dass du fremden Nutzern Zugriff auf deinen API-Schlüssel und dein Passwort gibst, wird es wahrscheinlich widerrufen (ich bin mir ziemlich sicher, dass du diese nicht teilen darfst). Die Verwendung von API ist also ausgeschlossen.

Als Alternative könnten Sie versuchen, die Tracking-Informationen mit öffentlichen Tracking (keine API) auf ihrer Website, aber Sie werden wahrscheinlich per IP-Anfrage Grenzen, csrf Tokens usw. und sollte die Seite in irgendeiner Weise ändern, die Sie geschraubt sind . Keine gute Idee.

Einfache App oder nicht müssen Sie einen Teil davon auf Ihrem Server ausführen.

1

Es gibt nicht wirklich einen Weg, dies zu tun, ohne es auf Ihrem Server laufen zu lassen. Was Sie jedoch tun können, da Ihre Anwendung Tracking-Informationen bereitstellen soll, sollten Sie diese Informationen nicht nur im Standard-Webbrowser öffnen. Ist das machbar?

Wenn ja einen Blick auf diese: http://oreilly.com/pub/h/4106, (Blick auf die Logik mehr als die Implementierung)