2 Stimmen

OAuth in PHP, um eine 2-beinige Anfrage zu erstellen

Ich stecke derzeit fest beim Versuch, Anfragen an die API eines Dienstes mit einer 2-beinigen oAuth-Anfrage unter Verwendung von PHP zu erstellen.

Ich verwende die PHP-Bibliothek, die hier zu finden ist: http://code.google.com/p/oauth-php/ und es scheint absolut keine Dokumentation online dafür zu geben, wie man diese Bibliothek für eine 2-beinige Anfrage verwendet.

Derzeit habe ich folgende Details vom Dienst:

  • $consumer_key - muss ein leerer String sein
  • $consumer_secret - muss ein leerer String sein
  • $access_token - mein Benutzername
  • $access_token_secret - Ihr generiertes Anwendungs-Token

Und ich möchte eine Anfrage an folgende Adresse senden:

http://foo.com/api/test/whoami

Um zu testen, ob die Authentifizierung korrekt funktioniert, damit ich den Rest der API verwenden kann.

Hat jemand irgendwelche Hinweise, wie man diese PHP-Bibliothek verwenden kann, um dies zu erreichen? Oder gibt es bessere Methoden für einen einfachen 2-beinigen Aufruf wie diesen?

Hilfe!? :)

1voto

User Punkte 1363

0voto

Muhammad Reda Punkte 25423

Sie benötigen nur den Verbraucherschlüssel und das Verbraucher-Token, um autorisierte OAuth-Anfragen mit 2 Beinen zu machen.

Downloaden Sie OAuthConsumer. (kommentieren Sie die Klasse OAuthException Zeilen 6-8 aus)

Code Beispiel:

require_once 'OAuth.php';

$signatureMethod = new OAuthSignatureMethod_HMAC_SHA1();
$consumerKey = 'abc';
$consumerSecret = 'def';
$httpMethod = 'GET';
$url = 'http://path/to/endpoint';
$requestFields = array();

$oauthConsumer = new OAuthConsumer($consumerKey, $consumerSecret, NULL);
$oauthRequest = OAuthRequest::from_consumer_and_token($oauthConsumer, NULL, $httpMethod, $url, $requestFields);
$oauthRequest->sign_request($signatureMethod, $oauthConsumer, NULL);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X