Compartir a través de


Servicio de segmento de batch: script PHP de ejemplo

Nota:

  • Este servicio está disponible actualmente para un conjunto limitado de clientes y empleados de Microsoft.
  • El contenido de esta página solo se proporciona como ejemplo; no podemos admitir sólidamente implementaciones de scripts PHP con clientes.

El siguiente script se conectará al servicio batch segment, solicitará un identificador de trabajo y cargará la dirección URL, POST el archivo de segmento a la dirección URL de carga y devolverá otra dirección URL donde puede comprobar el estado del trabajo de procesamiento.

Acepta un argumento: el nombre de archivo del archivo de datos del segmento.

<?php
if ($argc < 2) {
  die("No File Name Specified!\n");
} else {
  $filename = $argv[1];
}
// Edit with user-specific details
$api_url = "sand.api.appnexus.com"; // for appnexus logins
//$api_url = 'hb.sand-08.adnxs.net'; // for adnxs logins
$api_username = "username"; // your API login
$api_password = 'password'; // your API password
$member_id = 0; // your member ID
// login
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies");
curl_setopt($ch, CURLOPT_URL, $api_url."/auth?username=".$api_username."&password=".$api_password);
curl_exec($ch);
// Send post request to batch-segment
curl_setopt($ch, CURLOPT_URL, $api_url."/batch-segment?member_id=".$member_id);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
//Get the upload URL
$response = curl_exec($ch);
$response_obj = json_decode($response);
$upload_url=$response_obj->response->batch_segment_upload_job->upload_url;
$job_id=$response_obj->response->batch_segment_upload_job->job_id;
//Send the file to the unique URL
exec("curl -v -H 'Content-Type:application/octet-stream' --data-binary @".$filename." '".$upload_url."'");
//Exec this command to see your job status
echo("\ncurl -b cookies -c cookies '".$api_url."/batch-segment?member_id=".$member_id."&job_id=".$job_id."'\n");
?>