Zum Hauptinhalt springen

OAuth 1.0a

ZweckMethode
Schritt 1 des 3-legged OAuth-Flow und Anmeldung mit X
Ermöglicht einer Consumer-App, ein OAuth Request Token zu erhalten, um die Benutzerautorisierung anzufordern.
POST oauth/request_token
Schritt 2 des 3-legged OAuth-Flow und Anmeldung mit X
Ermöglicht einer Consumer-App, ein OAuth Request Token zu verwenden, um die Benutzerautorisierung anzufordern.
GET oauth/authenticate
Schritt 2 des 3-legged OAuth-Flow und Anmeldung mit X
Ermöglicht einer Consumer-App, ein OAuth Request Token zu verwenden, um die Benutzerautorisierung anzufordern.
GET oauth/authorize
Schritt 3 des 3-legged OAuth-Flow und Anmeldung mit X
Ermöglicht einer Consumer-App, das OAuth Request Token gegen ein OAuth Access Token auszutauschen.
POST oauth/access_token
Ermöglicht einer registrierten App, ein ausgegebenes OAuth Access Token zu widerrufen.POST oauth/invalidate_token

OAuth 2.0 Bearer Token

ZweckMethode
Ermöglicht einer registrierten App, ein OAuth‑2‑App‑only‑Bearer‑Token zu generieren, das verwendet werden kann, um API-Anfragen im Namen der App ohne Benutzerkontext zu stellen.POST oauth2/token
Ermöglicht einer registrierten App, ein ausgestelltes OAuth‑2‑App‑only‑Bearer‑Token zu widerrufen.POST oauth2/invalidate_token

POST oauth/request_token

Ermöglicht einer Consumer‑Anwendung, ein OAuth Request Token zu erhalten, um die Nutzerautorisierung anzufordern. Diese Methode erfüllt Abschnitt 6.1 des OAuth 1.0‑Authentifizierungsablaufs. Für alle OAuth‑Autorisierungsschritte ist die Nutzung von HTTPS verpflichtend. Hinweis zur Verwendung: Für den oauth_nonce werden nur ASCII‑Werte akzeptiert. Resource URL https://api.x.com/oauth/request_token Resource Information
Response formatsJSON
Requires authentication?No
Rate limited?Yes
Parameters
NameRequiredDescriptionExample
oauth_callbackrequiredFür die Einhaltung von OAuth 1.0a ist dieser Parameter erforderlich. Der hier angegebene Wert wird als URL verwendet, zu der ein Nutzer weitergeleitet wird, wenn er deiner Anwendung den Zugriff auf sein Konto genehmigt. Setze diesen Wert auf oob für den Out‑of‑Band‑PIN‑Modus. Darüber lassen sich auch benutzerdefinierte Callbacks für Desktop-/Mobile‑Anwendungen angeben. Sende in diesem Schritt immer einen oauth_callback, unabhängig von einem vorab registrierten Callback.

Wir verlangen, dass jede mit diesem endpoint verwendete Callback‑URL in den Einstellungen der App auf developer.x.com konfiguriert ist.*
http://themattharris.local/auth.php twitterclient://callback
x_auth_access_typeoptionalÜberschreibt die Zugriffsebene, die eine Anwendung für das Konto eines Nutzers anfordert. Unterstützte Werte sind read oder write. Dieser Parameter ermöglicht es Entwicklern, eine Lese-/Schreib‑Anwendung zu registrieren, aber bei Bedarf nur Lesezugriff anzufordern.
Erfahre mehr darüber, wie du deine Callback‑URLs genehmigen lässt, auf dieser Seite. Bitte beachten – Du kannst deine vorhandenen X Apps über das X App Dashboard anzeigen und bearbeiten, wenn du auf developer.x.com in deinem X Konto angemeldet bist. Example request Request URL: POST https://api.x.com/oauth/request_token Request POST Body: N/A Authorization Header: OAuth oauth_nonce="K7ny27JTpKVsTgdyLdDfmQQWVLERj2zAK5BslRsqyw", oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1300228849", oauth_consumer_key="OqEqJeafRSF11jBMStrZz", oauth_signature="Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D", oauth_version="1.0" Response: oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_token_secret=Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM&oauth_callback_confirmed=true

GET oauth/authorize

Ermöglicht einer Consumer-App, ein OAuth-Request-Token zu verwenden, um eine Nutzerautorisierung anzufordern. Diese Methode erfüllt Abschnitt 6.2 des OAuth-1.0-Authentifizierungsablaufs. Desktop-Apps müssen diese Methode verwenden (und können GET oauth/authenticate nicht verwenden). Hinweis zur Verwendung: Ein oauth_callback wird nie an diese Methode gesendet; übergeben Sie ihn stattdessen an POST oauth/request_token. Resource URL https://api.x.com/oauth/authorize Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
force_loginoptionalErzwingt, dass der Nutzer seine Anmeldedaten eingibt, um sicherzustellen, dass das richtige Nutzerkonto autorisiert wird.
screen_nameoptionalFüllt das Eingabefeld für den Benutzernamen auf dem OAuth-Anmeldebildschirm mit dem angegebenen Wert vor.
Example request Leiten Sie den Nutzer in einem Webbrowser zum Schritt oauth/authorize weiter und fügen Sie den Parameter oauth_token hinzu: https://api.x.com/oauth/authorize?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

GET oauth/authenticate

Ermöglicht einer Consumer-App, einen OAuth-request_token zu verwenden, um die Autorisierung durch den Nutzer anzufordern. Diese Methode ersetzt Abschnitt 6.2 des OAuth 1.0-Authentifizierungsablaufs für Anwendungen, die den Callback-Flow verwenden. Sofern der Parameter force_login nicht auf true gesetzt ist, wird der aktuell angemeldete Nutzer als Konto für die Zugriffsautorisierung verwendet. Diese Methode unterscheidet sich von GET oauth/authorize dadurch, dass – wenn der Nutzer der Anwendung bereits Berechtigungen erteilt hat – die Weiterleitung erfolgt, ohne dass der Nutzer die Anwendung erneut genehmigen muss. Um dieses Verhalten zu ermöglichen, müssen Sie die Einstellung Use Sign in with X in Ihrem App-Eintrag aktivieren. Resource URL https://api.x.com/oauth/authenticate Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
force_loginoptionalErzwingt die Eingabe der Zugangsdaten durch den Nutzer, um sicherzustellen, dass das richtige Nutzerkonto autorisiert wird.true
screen_nameoptionalFüllt das Eingabefeld für den Nutzernamen auf dem OAuth-Anmeldebildschirm mit dem angegebenen Wert vor.
Example request Senden Sie den Nutzer im Webbrowser zum Schritt oauth/authenticate und fügen Sie einen oauth_token-Parameter hinzu: https://api.x.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

POST oauth/access_token

Ermöglicht einer Consumer-App, das OAuth Request Token gegen ein OAuth Access Token auszutauschen. Diese Methode erfüllt Abschnitt 6.3 des OAuth-1.0-Authentifizierungsablaufs. Resource URL https://api.x.com/oauth/access_token Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
oauth_tokenrequiredDas hier verwendete oauth_token muss mit dem oauth_token identisch sein, das im Schritt request_token zurückgegeben wurde.
oauth_verifierrequiredWenn Sie den OAuth-Web-Flow verwenden, setzen Sie diesen Parameter auf den Wert des im Callback-URL zurückgegebenen oauth_verifier. Wenn Sie Out-of-Band-OAuth verwenden, setzen Sie diesen Wert auf den PIN-Code. Für die Einhaltung von OAuth 1.0a ist dieser Parameter erforderlich. OAuth 1.0a wird strikt durchgesetzt und Apps, die den oauth_verifier nicht verwenden, können den OAuth-Flow nicht abschließen.
Example request POST https://api.x.com/oauth/access_token?oauth_token=qLBVyoAAAAAAx72QAAATZxQWU6P&oauth_verifier=ghLM8lYmAxDbaqL912RZSRjCCEXKDIzx Bei PIN-basierter Autorisierung: POST https://api.x.com/oauth/access_token?oauth_token=9Npq8AAAAAAAx72QBRABZ4DAfY9&oauth_verifier=4868795 Example response oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi

POST oauth/invalidate_token

Ermöglicht einer registrierten App, ein ausgegebenes OAuth-access_token mithilfe ihrer Client-Anmeldedaten zu widerrufen. Sobald ein access_token ungültig gemacht wurde, führen neue Erstellungsversuche zu einem anderen Access Token, und die Verwendung des ungültigen Tokens ist nicht mehr zulässig. Resource URL https://api.x.com/1.1/oauth/invalidate_token Resource Information
Response formatsJSON
Requires authentication?Ja – Benutzerkontext mit den Access Tokens, die Sie ungültig machen möchten
Rate limited?Ja
Example request
        curl --request POST
          --url 'https://api.x.com/1.1/oauth/invalidate_token.json'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
Beispielantwort
        HTTP/1.1 200 OK
        Content-Type: application/json; charset=utf-8
        Content-Length: 127
        ...

        {"access_token":"ACCESS_TOKEN"}
Beispiel einer Fehlermeldung, nachdem das Token ungültig gemacht wurde
        HTTP/1.1 401 Authorization Required
        ...

        {"errors": [{
          "code": 89,
          "message": "Ungültiges oder abgelaufenes Token."}
        ]}

POST oauth2/token

Ermöglicht einer registrierten App, ein OAuth 2 Bearer Token zu erhalten, das verwendet werden kann, um API-Anfragen im eigenen Namen der App ohne Benutzerkontext zu stellen. Dies wird als Application-only authentication bezeichnet. Ein Bearer Token kann mithilfe von oauth2/invalidate_token ungültig gemacht werden. Sobald ein Bearer Token invalidiert wurde, liefern neue Erstellungsvorgänge ein anderes Bearer Token, und die Verwendung des vorherigen Tokens ist nicht mehr zulässig. Pro App darf jeweils nur ein Bearer Token aktiv sein; wiederholte Anfragen an diese Methode liefern dasselbe bereits vorhandene Token, bis es invalidiert wurde. Erfolgreiche Antworten enthalten eine JSON-Struktur, die das ausgegebene Bearer Token beschreibt. Über diese Methode empfangene Tokens sollten zwischengespeichert werden. Bei zu häufiger Ausführung werden Anfragen mit HTTP 403 und Code 99 abgewiesen. Resource URL https://api.x.com/oauth2/token Resource Information
Response formatsJSON
Requires authentication?Yes - Basic auth with your API key as your username and API key secret as your password
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
grant_typerequiredGibt den Typ der von der App angeforderten Berechtigung an. Derzeit ist nur client_credentials zulässig. Weitere Informationen finden Sie unter Application-Only Authentication.client_credentials
Example request
    POST /oauth2/token HTTP/1.1
    Host: api.x.com
    User-Agent: My X App v1.0.23
    Authorization: Basic eHZ6MWV2R ... o4OERSZHlPZw==
    Content-Type: application/x-www-form-urlencoded;charset=UTF-8
    Content-Length: 29
    Accept-Encoding: gzip

    grant_type=client_credentials
Beispielantwort:
    HTTP/1.1 200 OK
    Status: 200 OK
    Content-Type: application/json; charset=utf-8
    ...
    Content-Encoding: gzip
    Content-Length: 140

    {"token_type":"bearer","access_token":"AAAA%2FAAA%3DAAAAAAAA"}

POST oauth2/invalidate_token

Ermöglicht einer registrierten App, ein ausgegebenes OAuth 2.0 Bearer Token unter Vorlage ihrer Client-Anmeldedaten zu widerrufen. Sobald ein Bearer Token invalidiert wurde, führen neue Erstellungsvorgänge zu einem anderen Bearer Token, und die Nutzung des invalidierten Tokens ist nicht mehr zulässig. Erfolgreiche Antworten enthalten eine JSON-Struktur, die das widerrufene Bearer Token beschreibt. Resource URL https://api.x.com/oauth2/invalidate_token Resource Information
Response formatsJSON
Requires authentication?Ja – OAuth 1.0a mit den Consumer API Keys der App sowie dem access token und access token secret des App-Inhabers
Rate limited?Ja
Parameters
NameRequiredDescription
access_tokenrequiredDer Wert des Bearer Tokens, den Sie invalidieren möchten
Example request
        curl --request POST
          --url 'https://api.x.com/oauth2/invalidate_token?access_token=AAAA%2FAAA%3DAAAAAAAA'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
Beispielantwort
         Status: 200 OK
         Content-Type: application/json; charset=utf-8
         Content-Length: 135
         ...
       {
        "access_token": "AAAA%2FAAA%3DAAAAAAAA"
        }
I