No se pueden abrir los archivos adjuntos descargados de la API de Gmail

Siento que me falta algo estúpido ...

Estoy usando el SDK de PHP para la nueva API de Gmail para recuperar un archivo adjunto de un correo electrónico. Puedo obtener el contenido del archivo adjunto, pero a menos que sea un archivo de texto, no puedo abrir el archivo después de guardarlo. Si el archivo adjunto es un PDF, no se procesará. Si es un archivo de Excel, no se abrirá.

¿Qué estoy haciendo mal?

// this works; I get the attachment body, etc
$data = $g->gmail->users_messages_attachments->get($email_account, $email_message_id, $p->getBody()->getAttachmentId());

$fh = fopen(DOC_ROOT."/file.pdf", "w+");
fwrite($fh, base64_decode($data->data));
fclose($fh);

Respuestas a la pregunta(3)

Su respuesta a la pregunta