Subidas: uploadData

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

Requiere autorización

Sube los datos de una fuente de datos personalizada. Consulta un ejemplo.

Este método admite un URI de /upload y acepta medios subidos con las características siguientes:

  • Tamaño máximo del archivo: 1 GB
  • Tipos MIME multimedia aceptados: application/octet-stream

Además de los parámetros estándar, este método admite los parámetros que se enumeran en la tabla correspondiente.

Solicitud

Solicitud HTTP

POST https://www.googleapis.com/upload/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/customDataSources/customDataSourceId/uploads

Parámetros

Nombre de parámetro Valor Descripción
Parámetros de ruta
accountId string ID de cuenta asociado con la subida.
customDataSourceId string ID de fuente de datos personalizada al que pertenecen los datos que se van a subir.
webPropertyId string Cadena de UA de propiedad web asociada con la subida.
Parámetros de consulta obligatorios
uploadType string Tipo de solicitud de subida para el URI de /upload. Los valores aceptables son:
  • media: subida simple. Permite subir datos de medios.
  • resumable: subida reanudable. Permite subir un archivo de modo que se pueda reanudar, mediante una serie de dos solicitudes como mínimo.

Autorización

Esta solicitud requiere autorización con al menos uno de los ámbitos siguientes. Más información sobre la autenticación y la autorización

Alcance
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.edit

Cuerpo de la solicitud

No proporciones un cuerpo de solicitud con este método.

Respuesta

Si este método se realiza correctamente, habrá un recurso Subidas en el cuerpo de la respuesta.

Ejemplos

Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas de cliente para obtener una lista de los lenguajes admitidos).

Java

Utiliza la biblioteca de cliente Java.

/*
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Data Import Developer Guide for details.
 */

// This request uploads a file for the authorized user.
File file = new File("data.csv");
InputStreamContent mediaContent = new InputStreamContent("application/octet-stream",
    new FileInputStream(file));
mediaContent.setLength(file.length());
try {
  analytics.management().uploads().uploadData("123456",
      "UA-123456-1", "122333444455555", mediaContent).execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

PHP

Utiliza la biblioteca de cliente PHP.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Data Import Developer Guide for details.
 */

/**
 * This request uploads a file to a custom data source.
 */
try {
  $analytics->management_uploads->uploadData(
      '123456',
      'UA-123456-1',
      '122333444455555',
      array('data' => file_get_contents('example.csv'),
            'mimeType' => 'application/octet-stream',
            'uploadType' => 'media'));

} catch (apiServiceException $e) {
  print 'There was an Analytics API service error '
      . $e->getCode() . ':' . $e->getMessage();

} catch (apiException $e) {
  print 'There was a general API error '
      . $e->getCode() . ':' . $e->getMessage();
}

Python

Utiliza la biblioteca de cliente Python.

# Note: This code assumes you have an authorized Analytics service object.
# See the Data Import Developer Guide for details.

# This request uploads a file custom_data.csv to a particular customDataSource.
# Note that this example makes use of the MediaFileUpload Object from the
# apiclient.http module.
from apiclient.http import MediaFileUpload
try:
  media = MediaFileUpload('custom_data.csv',
                          mimetype='application/octet-stream',
                          resumable=False)
  daily_upload = analytics.management().uploads().uploadData(
      accountId='123456',
      webPropertyId='UA-123456-1',
      customDataSourceId='9876654321',
      media_body=media).execute()

except TypeError, error:
  # Handle errors in constructing a query.
  print 'There was an error in constructing your query : %s' % error

except HttpError, error:
  # Handle API errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error.resp.reason))

JavaScript

Utiliza la biblioteca de cliente JavaScript.

/*
 * Note: This code assumes you have an authorized Analytics client object.
 * See the Data Import Developer Guide for details.
 */

/*
 * This request uploads a file for the authorized user.
 */
function uploadData(fileData) {
  const boundary = '-------314159265358979323846';
  const delimiter = "\r\n--" + boundary + "\r\n";
  const close_delim = "\r\n--" + boundary + "--";

  var contentType = 'application/octet-stream'

  var reader = new FileReader();
  reader.readAsBinaryString(fileData);
  reader.onload = function(e) {
    var contentType = 'application/octet-stream';
    var metadata = {
      'title': fileData.name,
      'mimeType': contentType
    };

    var base64Data = btoa(reader.result);
    var multipartRequestBody =
        delimiter +
        'Content-Type: application/json\r\n\r\n' +
        JSON.stringify(metadata) +
        delimiter +
        'Content-Type: ' + contentType + '\r\n' +
        'Content-Transfer-Encoding: base64\r\n' +
        '\r\n' +
        base64Data +
        close_delim;

    var request = gapi.client.request({
      'path': 'upload/analytics/v3/management/accounts/123456/webproperties/UA-123456-1/customDataSources/ABCDEFG123abcDEF123/uploads',
      'method': 'POST',
      'params': {'uploadType': 'multipart'},
      'headers': {
        'Content-Type': 'multipart/mixed; boundary="' + boundary + '"'
      },
      'body': multipartRequestBody
    });
  request.execute(function (response) { // Handle the response. });
  }
}