Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# Etsy-OAuth
|
||||
|
||||
## Beispiel
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
use Xentral\Modules\EtsyApi\Credential\ClientCredentialData;
|
||||
use Xentral\Modules\EtsyApi\Credential\TemporaryCredentialData;
|
||||
use Xentral\Modules\EtsyApi\Credential\TokenCredentialData;
|
||||
use Xentral\Modules\EtsyApi\EtsyOAuthHelper;
|
||||
|
||||
$clientCredentials = new ClientCredentialData('identifier', 'xxx_secret_xxx');
|
||||
$callbackUrl = 'http://example.com/somefile';
|
||||
$scopes = ['listings_r', 'listings_w'];
|
||||
|
||||
$etsyHelper = new EtsyOAuthHelper($clientCredentials, $callbackUrl, $scopes);
|
||||
|
||||
session_start();
|
||||
|
||||
if (isset($_GET['user'])) {
|
||||
|
||||
/*
|
||||
* SCHRITT 3
|
||||
*/
|
||||
|
||||
if (!isset($_SESSION['token_credentials'])) {
|
||||
die('No token credentials.');
|
||||
}
|
||||
|
||||
// Token-Credentials aus Session wiederherstellen
|
||||
$tokenCredentials = TokenCredentialData::fromString($_SESSION['token_credentials']);
|
||||
|
||||
$method = 'PUT';
|
||||
$apiUrl = 'https://openapi.etsy.com/v2/listings/12345678/inventory';
|
||||
$data = [
|
||||
'listing_id' => 12345678,
|
||||
'products' => '[{"product_id":98765431,"sku":"700001","property_values":[],"offerings":[{"offering_id":999888777,"price":{"amount":7900,"divisor":100,"currency_code":"EUR","currency_formatted_short":"\u20ac79.00","currency_formatted_long":"\u20ac79.00 EUR","currency_formatted_raw":"79.00"},"quantity":1,"is_enabled":1,"is_deleted":0}],"is_deleted":0}]',
|
||||
];
|
||||
|
||||
$headers = $etsyHelper->getHeaders($tokenCredentials, $method, $apiUrl, $data);
|
||||
$client = new GuzzleHttp\Client();
|
||||
$response = $client->put($apiUrl, [
|
||||
'headers' => $headers,
|
||||
'form_params' => $data,
|
||||
]);
|
||||
|
||||
if ($response->getStatusCode() === 200) {
|
||||
die('Erfolg');
|
||||
}
|
||||
|
||||
} elseif (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) {
|
||||
|
||||
/*
|
||||
* SCHRITT 2
|
||||
*/
|
||||
|
||||
if (!isset($_SESSION['temporary_credentials'])) {
|
||||
die('No temporary credentials.');
|
||||
}
|
||||
|
||||
// Temporary-Credentials aus Schritt 1 wiederherstellen
|
||||
$temporaryCredentials = TemporaryCredentialData::fromString($_SESSION['temporary_credentials']);
|
||||
|
||||
// Teil 3 der OAuth 1.0 Authentifizierung: Token-Credentials (früher Access-Tokens) abholen
|
||||
$tokenCredentials = $etsyHelper->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']);
|
||||
|
||||
// Temporary-Credentials löschen und Token-Credentials in Session speichern
|
||||
unset($_SESSION['temporary_credentials']);
|
||||
$_SESSION['token_credentials'] = $tokenCredentials->toString();
|
||||
session_write_close();
|
||||
|
||||
// Benutzer zu Schritt 3 umleiten
|
||||
header('Location: http://example.com/somefile?user=user');
|
||||
exit;
|
||||
|
||||
} else {
|
||||
|
||||
/*
|
||||
* SCHRITT 1
|
||||
*/
|
||||
|
||||
// Teil 1 der OAuth 1.0 Authentifizierung: Temporary-Credentials abholen
|
||||
// Diese identifizieren uns als Client beim Server
|
||||
$temporaryCredentials = $etsyHelper->getTemporaryCredentials();
|
||||
|
||||
// Credentials in Session speichern; für übernächsten Schritt
|
||||
$_SESSION['temporary_credentials'] = $temporaryCredentials->toString();
|
||||
session_write_close();
|
||||
|
||||
// Teil 2 der OAuth 1.0 Authentifizierung: Resource Owner auf die Login-Seite umleiten
|
||||
$redirectUrl = $etsyHelper->getAuthorizationUrl($temporaryCredentials);
|
||||
header('Location: ' . $redirectUrl);
|
||||
exit;
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user