it-swarm.com.de

Was ist eine Rückruf-URL in Bezug auf eine API?

Ich habe das Internet durchsucht und kann mich nicht mit der Idee einer Rückruf-URL beschäftigen. In meinem Fall habe ich einige Callback-URLs, die ich selbst definieren muss. Eine beliebte ist eine "Standard-Callback-URL". Was ist das genau? Können Sie ein Beispiel in einfachem Englisch geben?

63
ApathyBear

Eine Callback-URL wird von der aufgerufenen API-Methode aufgerufen. Also wenn du anrufst

POST /api.example.com/foo?callbackURL=http://my.server.com/bar

Wenn /foo beendet ist, sendet er eine Anforderung an http://my.server.com/bar. Der Inhalt und die Methode dieser Anforderung variieren. Überprüfen Sie die Dokumentation der API, auf die Sie zugreifen.

51
Eric Stein

Betrachten Sie es als Brief. Manchmal erhalten Sie einen Brief, in dem Sie beispielsweise aufgefordert werden, ein Formular auszufüllen, und senden Sie das Formular in einem voradressierten Umschlag zurück, der sich im ursprünglichen Umschlag befindet, in dem sich das Formular befand.

Wenn Sie das Formular ausgefüllt haben, legen Sie es in den mitgelieferten Rückumschlag und senden es zurück.

Die CallbackUrl ist wie der Rückumschlag. Sie sagen im Grunde, ich sende Ihnen diese Daten. Sobald Sie damit fertig sind, warte ich auf diese callbackUrl und warte auf Ihre Antwort. Die API verarbeitet also die von Ihnen gesendeten Daten und untersucht dann den Rückruf, um Ihnen die Antwort zu senden.

Dies ist nützlich, da Sie manchmal einige Zeit benötigen, um einige Daten zu verarbeiten, und es macht keinen Sinn, den Anrufer auf eine Antwort warten zu lassen. Angenommen, Ihre API ermöglicht es Benutzern, Dokumente an sie zu senden und durch Viren zu scannen. Dann schickst du einen Bericht nach. Der Scan kann etwa 3 Minuten dauern. Der Benutzer kann nicht 3 Minuten warten. Sie erkennen also an, dass Sie das Dokument erhalten haben, und lässt den Anrufer sich während des Scan-Vorgangs mit anderen Geschäftspartnern auseinandersetzen. Anschließend können Sie die CallbackUrl verwenden, um das Ergebnis des Scans anzuzeigen. 

4
Taf Munyurwa

Wenn Sie die Rückruf-URL verwenden, kann die API eine Verbindung mit der Rückruf-URL herstellen und Daten senden oder empfangen. Das bedeutet, dass sich die API später (nach dem Aufruf der API) mit Ihnen verbinden kann.

Beispiel

 Diagram

  1. SIE sendet Daten mit der Anforderung an API.
  2. API sendet Daten mit einer zweiten Anforderung an YOU

Die genaue Definition sollte in der API-Dokumentation enthalten sein.

2
jiwopene

Es ist ein Mechanismus, um eine API auf asynchrone Weise aufzurufen. Die Reihenfolge ist die folgende 

  1. ihre App ruft die URL auf und übergibt die Callback-URL als Parameter
  2. die api antworten mit einem 20x-http-code (201 schätze ich, verweise aber auf die api-docs)
  3. das API arbeitet für eine gewisse Zeit auf Ihre Anfrage
  4. die API ruft Ihre App auf, um die Ergebnisse unter der Callback-URL-Adresse anzuzeigen.

Sie können also die API aufrufen und Ihrem Benutzer mitteilen, dass die Anforderung beispielsweise "verarbeitet" oder "erfasst" wird, und dann den Status aktualisieren, wenn Sie die Antwort von der API erhalten.

Hoffe, es macht Sinn .- G

0
Giuseppe B

Ein anderer Anwendungsfall könnte so etwas wie OAuth sein, er wird möglicherweise nicht direkt von der API aufgerufen. Stattdessen wird die Rückruf-URL vom Browser nach Abschluss der Authentifizierung beim Identitätsanbieter aufgerufen. 

Normalerweise löst der Identitätsdiensteanbieter nach dem Endbenutzerschlüssel im Benutzernamenskennwort eine Browserumleitung auf Ihre "Rückruf" -URl mit dem temporären Autorisierungscode aus, z. 

https://example.com/callback?code=AUTHORIZATION_CODE

Dann könnte Ihre Anwendung diesen Autorisierungscode verwenden, um ein Zugriffstoken mit dem Identitätsanbieter anzufordern, das eine viel längere Lebensdauer hat.

0
Zhao Hainan