Skip to content

Instantly share code, notes, and snippets.

@guss77
Created May 16, 2018 05:27
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save guss77/44369c39b6ce0cfa488ef476ea477c0b to your computer and use it in GitHub Desktop.
Save guss77/44369c39b6ce0cfa488ef476ea477c0b to your computer and use it in GitHub Desktop.
#!/bin/bash
function usage() {
(
echo "usage: $0 <auth-token> <group-address> <mbox-dir>"
echo "To generate an auth token go to https://developers.google.com/oauthplayground/ and get an access token for Google Groups migration"
) >&2
exit 5
}
AUTH_TOKEN="$1"
shift
GROUP="$1"
shift
MBOX_DIR="$1"
shift
[ -z "$AUTH_TOKEN" -o -z "$GROUP" -o -z "$MBOX_DIR" ] && usage
for file in $MBOX_DIR/*; do
curl -H"Authorization: Bearer $AUTH_TOKEN" -H'Content-Type: message/rfc822' -X POST \
"https://www.googleapis.com/upload/groups/v1/groups/$GROUP/archive?uploadType=media" --data-binary @${file} || exit 1
done
@olso
Copy link

olso commented Feb 17, 2021

@RafaelCenzano
Copy link

Recommend changing --data-binary @${file} to --data-binary @"${file}" to fix issues with files having spaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment