Uploads: uploadData

Autorisation requise

Importer des données pour une source de données personnalisée Voir un exemple.

Cette méthode accepte un URI /upload et accepte les éléments multimédias importés présentant les caractéristiques suivantes:

  • Taille maximale du fichier : 1 Go
  • Types MIME de médias acceptés: application/octet-stream

En plus des paramètres standards, cette méthode accepte les paramètres répertoriés dans le tableau des paramètres.

Demande

Requête HTTP

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

Paramètres

Nom du paramètre Value Description
Paramètres de chemin d'accès
accountId string Numéro de compte associé à l'importation.
customDataSourceId string ID de la source de données personnalisées à laquelle appartiennent les données importées.
webPropertyId string Chaîne UA du site Web associée à l'importation.
Paramètres de requête obligatoires
uploadType string Type de requête d'importation vers l'URI /upload. Valeurs autorisées :
  • media : importation simple Importez les données multimédias.
  • multipart : importation en plusieurs parties Importez le fichier avec des métadonnées (par exemple, son nom). Le corps de la requête doit être constitué de deux parties: une pour les métadonnées, et une seconde pour les données du fichier.
  • resumable : importation avec reprise. Importez le fichier avec reprise en utilisant une série d'au moins deux requêtes.

Autorisation

Une autorisation est requise pour cette requête. Celle-ci doit inclure au moins l'un des champs d'application suivants. En savoir plus sur le processus d'authentification et d'autorisation

Portée
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.edit

Corps de la requête

Ne spécifiez pas de corps de requête pour cette méthode.

Réponse

Lorsque cette méthode fonctionne, elle renvoie une ressource Imports dans le corps de la réponse.

Exemples

Remarque : Les langages de programmation compatibles ne figurent pas tous dans les exemples de code présentés pour cette méthode (consultez la page Bibliothèques clientes pour obtenir la liste des langages compatibles).

Java

Utilise la bibliothèque 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

Utilise la bibliothèque 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

Utilise la bibliothèque 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

Utilise la bibliothèque 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. });
  }
}