Skip to content

Commit

Permalink
API-1824 setup sample files PHP sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
ahongbynder committed Dec 11, 2023
1 parent f2ed9dd commit ae8d2d9
Show file tree
Hide file tree
Showing 8 changed files with 365 additions and 0 deletions.
59 changes: 59 additions & 0 deletions sample/BrandsSample.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?php
require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/sample_config.php');
use Bynder\Api\BynderClient;
use Bynder\Api\Impl\OAuth2;

try {
// instantiate BynderClient to make API requests for portal, client id, client secret with redirect uri
$bynder = new BynderClient(new Oauth2\Configuration(
$bynderDomain,
$redirectUri,
$clientId,
$clientSecret,
$token,
['timeout' => 5] // Guzzle HTTP request options
));

// if no access token, need to use OAuth flow to authorize and get access code, then use code to get token
if ($token === null) {
echo $bynder->getAuthorizationUrl([
'offline',
'current.user:read',
'current.profile:read',
'asset:read',
'asset:write',
'meta.assetbank:read',
'asset.usage:read',
'asset.usage:write',
]) . "\n\n";

$code = readline('Enter code: ');

if ($code == null) {
echo("Failed to get access token");
exit;
}

$token = $bynder->getAccessToken($code);
}

$assetBankManager = $bynder->getAssetBankManager();

// Get Brands. Returns a Promise.
$brandsListPromise = $assetBankManager->getBrands();
// Wait for the promise to be resolved.
$brandsList = $brandsListPromise->wait();

if (!empty($brandsList)) {
foreach ($brandsList as $brand) {
echo("Brand ID: " . $brand['id'] . "\n");
echo("Brand Name: " . $brand['name'] . "\n");
echo("Brand Description: " . $brand['description'] . "\n");
}
}
} catch (Exception $e) {
var_dump($e);
}
?>

68 changes: 68 additions & 0 deletions sample/CollectionsSample.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?php
require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/sample_config.php');
use Bynder\Api\BynderClient;
use Bynder\Api\Impl\OAuth2;

try {
// instantiate BynderClient to make API requests for portal, client id, client secret with redirect uri
$bynder = new BynderClient(new Oauth2\Configuration(
$bynderDomain,
$redirectUri,
$clientId,
$clientSecret,
$token,
['timeout' => 5] // Guzzle HTTP request options
));

// if no access token, need to use OAuth flow to authorize and get access code, then use code to get token
if ($token === null) {
echo $bynder->getAuthorizationUrl([
'offline',
'current.user:read',
'current.profile:read',
'asset:read',
'asset:write',
'meta.assetbank:read',
'asset.usage:read',
'asset.usage:write',
'collection:read',
'collection:write'
]) . "\n\n";

$code = readline('Enter code: ');

if ($code == null) {
echo("Failed to get access token");
exit;
}

$token = $bynder->getAccessToken($code);
}

$assetBankManager = $bynder->getAssetBankManager();

// Get Collections List.
// optional filter
$collectionQueryFilter = [
'count' => true,
'limit' => 20
];
$collectionListPromise = $assetBankManager->getCollections($collectionQueryFilter );
$collectionsList = $collectionListPromise->wait();

var_dump($collectionsList);

// print collection list, each collection result
if (!empty($collectionsList) && !empty($collectionsList['collections'])) {
foreach ($collectionsList['collections'] as $collection) {
echo("Collection ID: " . $collection['id'] . "\n");
var_dump($collection);
}
}

} catch (Exception $e) {
var_dump($e);
}
?>

64 changes: 64 additions & 0 deletions sample/MediaSample.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?php
require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/sample_config.php');
use Bynder\Api\BynderClient;
use Bynder\Api\Impl\OAuth2;

try {
// instantiate BynderClient to make API requests for portal, client id, client secret with redirect uri
$bynder = new BynderClient(new Oauth2\Configuration(
$bynderDomain,
$redirectUri,
$clientId,
$clientSecret,
$token,
['timeout' => 5] // Guzzle HTTP request options
));

// if no access token, need to use OAuth flow to authorize and get access code, then use code to get token
if ($token === null) {
echo $bynder->getAuthorizationUrl([
'offline',
'current.user:read',
'current.profile:read',
'asset:read',
'asset:write',
'meta.assetbank:read',
'asset.usage:read',
'asset.usage:write',
]) . "\n\n";

$code = readline('Enter code: ');

if ($code == null) {
echo("Failed to get access token");
exit;
}

$token = $bynder->getAccessToken($code);
}

$assetBankManager = $bynder->getAssetBankManager();

// Get Media Items list.
// Optional filter.
$query = [
'count' => true,
'limit' => 10
];

$mediaListPromise = $assetBankManager->getMediaList($query);
$mediaList = $mediaListPromise->wait();

// outputs list of media items, print media item
if (!empty($mediaList) && !empty($mediaList['media'])) {
foreach ($mediaList['media'] as $media) {
echo("Media ID: " . $media['id'] . "\n");
var_dump($media);
}
}

} catch (Exception $e) {
var_dump($e);
}
?>
58 changes: 58 additions & 0 deletions sample/MetapropertiesSample.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php
require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/sample_config.php');
use Bynder\Api\BynderClient;
use Bynder\Api\Impl\OAuth2;

try {
// instantiate BynderClient to make API requests for portal, client id, client secret with redirect uri
$bynder = new BynderClient(new Oauth2\Configuration(
$bynderDomain,
$redirectUri,
$clientId,
$clientSecret,
$token,
['timeout' => 5] // Guzzle HTTP request options
));

// if no access token, need to use OAuth flow to authorize and get access code, then use code to get token
if ($token === null) {
echo $bynder->getAuthorizationUrl([
'offline',
'current.user:read',
'current.profile:read',
'asset:read',
'asset:write',
'meta.assetbank:read',
'asset.usage:read',
'asset.usage:write',
]) . "\n\n";

$code = readline('Enter code: ');

if ($code == null) {
echo("Failed to get access token");
exit;
}

$token = $bynder->getAccessToken($code);
}

$assetBankManager = $bynder->getAssetBankManager();

// Get Metaproperties.
$metapropertiesListPromise = $assetBankManager->getMetaproperties();
$metapropertiesList = $metapropertiesListPromise->wait();

if (!empty($metapropertiesList)) {
foreach ($metapropertiesList as $metaproperty) {
echo("Metaproperty ID: " . $metaproperty['id']) . "\n";
var_dump($metaproperty);
}
}
var_dump($metapropertiesList);

} catch (Exception $e) {
var_dump($e);
}
?>
58 changes: 58 additions & 0 deletions sample/SmartFiltersSample.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php
require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/sample_config.php');
use Bynder\Api\BynderClient;
use Bynder\Api\Impl\OAuth2;

try {
// instantiate BynderClient to make API requests for portal, client id, client secret with redirect uri
$bynder = new BynderClient(new Oauth2\Configuration(
$bynderDomain,
$redirectUri,
$clientId,
$clientSecret,
$token,
['timeout' => 5] // Guzzle HTTP request options
));

// if no access token, need to use OAuth flow to authorize and get access code, then use code to get token
if ($token === null) {
echo $bynder->getAuthorizationUrl([
'offline',
'current.user:read',
'current.profile:read',
'asset:read',
'asset:write',
'meta.assetbank:read',
'asset.usage:read',
'asset.usage:write',
]) . "\n\n";

$code = readline('Enter code: ');

if ($code == null) {
echo("Failed to get access token");
exit;
}

$token = $bynder->getAccessToken($code);
}

$assetBankManager = $bynder->getAssetBankManager();

// Get SmartFilters.
$smartFilterListPromise = $assetBankManager->getSmartfilters();
$smartFilterList = $smartFilterListPromise->wait();

if (!empty($smartFilterList)) {
foreach ($smartFilterList as $smartFilter) {
echo("Smart Filter ID: " . $smartFilter['id'] . "\n");
echo("Smart Filter Labels: " . print_r($smartFilter['labels'], 1)) . "\n";
echo("Smart Filter Metaproperties: " . print_r($smartFilter['metaproperties'], 1)) . "\n";
}
}
} catch (Exception $e) {
var_dump($e);
}
?>

58 changes: 58 additions & 0 deletions sample/TagsSample.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php
require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/sample_config.php');
use Bynder\Api\BynderClient;
use Bynder\Api\Impl\OAuth2;

try {
// instantiate BynderClient to make API requests for portal, client id, client secret with redirect uri
$bynder = new BynderClient(new Oauth2\Configuration(
$bynderDomain,
$redirectUri,
$clientId,
$clientSecret,
$token,
['timeout' => 5] // Guzzle HTTP request options
));

// if no access token, need to use OAuth flow to authorize and get access code, then use code to get token
if ($token === null) {
echo $bynder->getAuthorizationUrl([
'offline',
'current.user:read',
'current.profile:read',
'asset:read',
'asset:write',
'meta.assetbank:read',
'asset.usage:read',
'asset.usage:write',
]) . "\n\n";

$code = readline('Enter code: ');

if ($code == null) {
echo("Failed to get access token");
exit;
}

$token = $bynder->getAccessToken($code);
}

$assetBankManager = $bynder->getAssetBankManager();

// Get Tags.
$tagsListPromise = $assetBankManager->getTags();
$tagsList = $tagsListPromise->wait();

if (!empty($tagsList)) {
foreach ($tagsList as $tag) {
echo("Tag ID: " . $tag['id'] . "\n");
echo("Tag Name: " . $tag['tag'] . "\n");
echo(("Media Count: " . $tag['mediaCount'] . "\n"));
}
}
} catch (Exception $e) {
var_dump($e);
}
?>

Empty file added sample/UploadsSample.php
Empty file.
Empty file added sample/UsageSample.php
Empty file.

0 comments on commit ae8d2d9

Please sign in to comment.