diff --git a/index.php b/index.php
index 6d23940..dfb3fed 100644
--- a/index.php
+++ b/index.php
@@ -5,21 +5,17 @@ if (!isset($_SESSION['token'])) {
header('Location: /oauth.php');
}
-define('BASE_URL', 'https://cloud.memsource.com/web');
+define('BASE_URL', parse_ini_file('config.ini')['base_url']);
-print_r(listProjects()); die();
-// print_r(getProject('dOVoecVbGYq85VwGYkJgY0')); die();
+// print_r(listProjects()); die();
+print_r(getProject('dOVoecVbGYq85VwGYkJgY0')); die();
+// print_r(listJobs('dOVoecVbGYq85VwGYkJgY0')); die();
+downloadBilingualFiles('dOVoecVbGYq85VwGYkJgY0', ['tRJYN7LHPmaS8BVL3Vx8p2', 'DJbSRDTC7Jo004AvIb1V1M'], 'download.mxliff');
+die();
$resource = getResource($_SESSION['token']);
print_r($resource); die();
-echo "
\nuserName: {$resource['user']['userName']}";
-echo "
\nName: {$resource['user']['firstName']}";
-echo "
\nLast name: {$resource['user']['lastName']}";
-echo "
\nEmail: {$resource['user']['email']}";
-echo "
\nEdition: {$resource['edition']['name']}";
-echo "
\nOrganization: {$resource['organization']['name']}";
-
function listProjects()
{
$url = '/api2/v1/projects';
@@ -41,22 +37,31 @@ function listProjects()
function getProject(string $projectUid)
{
- $url = '/api2/v1/projects/'.$projectUid;
+ $url = '/api2/v1/projects/' . $projectUid;
return apiGet($_SESSION['token'], $url);
}
function listJobs(string $projectUid)
{
- $url = '/api2/v1/projects/'.$projectUid.'/jobs/';
+ $url = '/api2/v1/projects/' . $projectUid . '/jobs/';
return apiGet($_SESSION['token'], $url);
}
+function downloadBilingualFiles(string $projectUid, array $jobsUid, string $filename)
+{
+ $url = '/api2/v1/projects/'.$projectUid.'/jobs/bilingualFile?format=MXLF';
+ foreach ($jobsUid as $key => $jobUid) {
+ $postFields[] = ['uid' => $jobUid];
+ }
+ return apiDownloadFile($_SESSION['token'], $url, ['jobs' => $postFields], $filename);
+}
+
// we can now use the access_token as much as we want to access protected resources
function apiGet(string $access_token, string $url)
{
$curl = curl_init();
curl_setopt_array(
- $curl,
+ $curl,
[
CURLOPT_URL => BASE_URL . $url,
CURLOPT_HTTPHEADER => ["Authorization: Bearer {$access_token}"],
@@ -69,46 +74,44 @@ function apiGet(string $access_token, string $url)
return json_decode($response, true);
}
-function apiJsonPost(string $access_token, string $url, array $postFields)
+function apiJsonPost(string $access_token, string $url, array $postFields, array $extraHeader = [])
{
+ $header = array_merge(
+ ["Authorization: Bearer {$access_token}", 'Content-type: application/json'],
+ $extraHeader
+ );
$curl = curl_init();
- curl_setopt_array($curl, [
- CURLOPT_URL => BASE_URL . $url,
- CURLOPT_HTTPHEADER => ["Authorization: Bearer {$access_token}", "Content-type: application/json"],
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => json_encode($postFields),
- CURLOPT_RETURNTRANSFER => true
- ]);
+ curl_setopt_array(
+ $curl,
+ [
+ CURLOPT_URL => BASE_URL . $url,
+ CURLOPT_HTTPHEADER => $header,
+ CURLOPT_SSL_VERIFYPEER => false,
+ CURLOPT_POST => true,
+ CURLOPT_POSTFIELDS => json_encode($postFields),
+ CURLOPT_RETURNTRANSFER => true
+ ]
+ );
$response = curl_exec($curl);
curl_close($curl);
return json_decode($response, true);
}
-function getResource($access_token)
+function apiDownloadFile($access_token, string $url, array $postFields, string $filename)
{
- //$test_api_url = 'https://cloud.memsource.com/web/api2/v1/auth/whoAmI';
- //$test_api_url = 'https://cloud.memsource.com/web/api2/v1/projects';
- // $test_api_url = 'https://cloud.memsource.com/web/api2/v1/projects/dOVoecVbGYq85VwGYkJgY0';
- // $test_api_url = 'https://cloud.memsource.com/web/api2/v2/projects/dOVoecVbGYq85VwGYkJgY0/jobs';
- $test_api_url = 'https://cloud.memsource.com/web/api2/v1/projects/dOVoecVbGYq85VwGYkJgY0/jobs/bilingualFile';
- $array_content = ['jobs' => [['uid' => 'tRJYN7LHPmaS8BVL3Vx8p2']]];
- $content = json_encode($array_content);
-
- $header = ["Authorization: Bearer {$access_token}", "Content-type: application/json"];
-
+ $file = fopen($filename, 'w+');
$curl = curl_init();
curl_setopt_array($curl, [
- CURLOPT_URL => $test_api_url,
- CURLOPT_HTTPHEADER => $header,
+ CURLOPT_URL => BASE_URL . $url,
+ CURLOPT_HTTPHEADER => ["Authorization: Bearer {$access_token}", 'Content-type: application/json'],
CURLOPT_SSL_VERIFYPEER => false,
- // CURLOPT_CUSTOMREQUEST => 'DELETE', // <-- This is how to send a DELETE request
+ CURLOPT_TIMEOUT => 500,
+ CURLOPT_FILE => $file,
+ CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => $content,
- CURLOPT_RETURNTRANSFER => true
+ CURLOPT_POSTFIELDS => json_encode($postFields)
]);
$response = curl_exec($curl);
curl_close($curl);
-
- return json_decode($response, true);
+ return $response;
}
\ No newline at end of file
diff --git a/oauth.php b/oauth.php
index 0b26468..a2f015f 100644
--- a/oauth.php
+++ b/oauth.php
@@ -1,9 +1,9 @@
here, copy the code, and paste it into the box below.