我可以通过传递 userId、nessageID 和 attachmentID 来获取附件(供参考:
我收到如下回复。
{
"data": "JVBERi0xLjYKJeTjz9IKMSAwIG9iagpbL1BERi9JbWFnZUIvSW1hZ2VDL0l...."
"size": 629163
}
我想解码数据以保存在我的本地应用程序中,稍后我将显示。
我可以成功下载并保存在本地(文件夹)但无法看到附件中的内容请完善我。
我刚刚成功(几分钟前!)在 Swift 中解码检索到的附件数据(对不起,我无法编写 Objective-c 代码)所以这里是步骤:
1)计算“数据”中的字符数。Base64 编码字符串的字符数必须是 4 的倍数。如果不是这种情况,则需要在字符串末尾填充尽可能多的“=”字符,以达到下一个 4 的倍数。 (我相信谷歌已经发送了不需要修补的数据,但你永远不知道......)
2) 正如我在此 SO 链接中发现的那样(iOS - 使用 messageId 和 attachmentId 从 Gmail 下载附件),Google 替换了 HTTP 传输的一些字符,因此您需要替换:
“-”(减号)由“+”(加号)
"_" (下划线) by "/" (斜线)
3)然后使用这个Swift Data init方法将“准备好的”Base64字符串转换为Data:Data(base64:YourBase64String,options:.ignoreUnknownCharacters)
然后,您可以将此转换后的数据保存到具有正确扩展名的文件中。我设法检索 jpeg 和 pdf 格式的附件。
我希望这个对你有用。