Transférer des e-mails

Avant de migrer un e-mail vers Google Groupes à l'aide de l'API Groups Migration, procédez comme suit :

  • Vérifiez que le groupe cible existe et que son adresse e-mail est correcte avant de migrer un e-mail vers ses archives. Pour en savoir plus sur la liste des groupes et des utilisateurs, consultez l'API Directory.
  • Si l'expéditeur de l'e-mail appartient au même domaine que le groupe cible, vérifiez qu'il existe avant de migrer l'e-mail vers les archives du groupe cible.
  • Le format de l'e-mail doit être conforme à la définition standard RFC 822. Utilisez l'en-tête Content-type: message/rfc822. Vérifiez que les champs To:, From: et Date: de l'e-mail sont correctement formatés. La réponse est renvoyée au format de données JSON.

Migrer un e-mail vers Google Groupes

Pour migrer un e-mail vers les archives d'un groupe, envoyez une requête HTTP POST, incluez l'en-tête Authorization et remplacez GROUP_EMAIL_ADDRESS par l'adresse e-mail du groupe auquel les messages sont destinés :

POST https://www.googleapis.com/upload/groups/v1/groups/GROUP_EMAIL_ADDRESS/archive?uploadType=media

Exemple de requête

Cet exemple migre des e-mails vers les archives de samplegroup@googlegroups.com. La valeur Content-Length est limitée à 25 Mo, ce qui inclut les métadonnées, le corps et les éventuelles pièces jointes du message :

POST https://www.googleapis.com/upload/groups/v1/groups/samplegroup@googlegroups.com/archive?uploadType=media
Host: www.googleapis.com
Content-Type: message/rfc822
Content-Length: BYTES
Authorization: Bearer AUTH_TOKEN

METADATA_BODY

Remplacez les éléments suivants :

  • BYTES : nombre d'octets dans l'e-mail.
  • AUTH_TOKEN : en-tête Authorization.
  • METADATA_BODY : métadonnées, corps et éventuelles pièces jointes de l'e-mail.

Voici un exemple d'e-mail au format texte RFC 822 qui a été migré vers les archives de samplegroup@googlegroups.com. NNNN@mail.samplegroup.com est l'ID de message de cet exemple. L'expéditeur de l'e-mail migré est samplesender@example.com, et l'e-mail est migré vers les archives du groupe samplegroup@googlegroups.com :

    Received: by 10.143.160.15 with HTTP; Mon, 16 Jul 2007 10:12:26 -0700 (PDT)
    Message-ID: <NNNN@mail.samplegroup.com>
    Date: Mon, 16 Jul 2007 10:12:26 -0700
    From: samplesender@example.com
    To: samplegroup@googlegroups.com
    Subject: SUBJECT
    MIME-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-1; format=flowed
    Content-Transfer-Encoding: 7bit
    Content-Disposition: inline
    Delivered-To: samplegroup@samplegroup.com

    This is the body of the migrated email message.

Une réponse positive renvoie un code d'état HTTP 200 et l'état de la migration. Pour en savoir plus sur les valeurs responseCode, consultez la documentation de référence de l'API Groups Migration.

{
 "kind": "groupsMigration#groups",
 "responseCode": "SUCCESS",
}

Afficher les messages importés dans l'interface Google Groupes

Dans Google Groupes, l'état lu ou non lu des fils de discussion est stocké séparément pour chaque utilisateur. Lorsque vous insérez des messages et des fils de discussion à l'aide de l'API Groups Migration, ils sont traités comme s'ils avaient été envoyés par l'utilisateur dans l'en-tête From:. Cela signifie qu'ils apparaissent comme non lus pour tous les utilisateurs, à l'exception de celui dont l'adresse figure dans l'en-tête From:. Par exemple, après l'exemple de requête JSON précédent, le message intitulé SUBJECT apparaît comme lu si samplesender@example.com s'est connecté à Google Groupes, mais comme non lu pour tous les autres utilisateurs.