Google Drive API v2插入Http-Post创建空白无标题文档

时间:2016-06-09 13:19:54

标签: angularjs ionic-framework google-drive-api http-post

有一段时间以来我一直撞到墙上 - 希望能找到一些帮助!

目前正在搞乱Google Drive API并快速做一点概念离子混合应用程序。

流程如下:

- 用户在设备上登录Google

-User在设备上拍照

- 用户从设备上传图片

对Google的身份验证我已经实现了正常工作 - 返回的身份验证令牌在过期之前存储到localStorage 5分钟。

window.localStorage.setItem("access_token", result.access_token);

用户拍照然后将其存储到设备中然后我将ImageURI保存到范围变量中以供上传功能参考。

 $scope.imgURI = "data:image/jpeg;base64," + imageData;

我已经有以下内容来处理上传到Google云端硬盘:

$http.defaults.headers.common.Authorization= "Bearer " + window.localStorage.getItem("access_token");

$http.post("https://www.googleapis.com/upload/drive/v2/files/?uploadType=media", {'title':'TestUpload.jpg', 'mimeType': 'image/jpeg', 'description':'Test Desc'})
        .success(function(data) {
            console.log('Upload successful');
        })
        .error(function(error) {
            console.log('Upload failed');
            console.log(error);
        });

我对$ http.post功能稍有不熟悉,我不知道在哪里/如何格式化params以允许我附加图像文件,因为它目前只是创建什么似乎是驱动器上的空文件没有描述/信息,也没有附加文件。任何帮助都会非常赞赏。作为旁注 - 我可以从云端硬盘中删除文件,因此我100%确定正确处理了身份验证 - 我不确定在哪里添加$ scope.imgURI路径以启用附加功能图像文件。

干杯,

-Mike

1 个答案:

答案 0 :(得分:0)

对于上传图像,您可能希望使用分块,可恢复的上传,因为它不是世界上最快的操作,当然还有移动设备,而不是最可靠的。

您可以查看https://github.com/pinoyyid/ngDrive/blob/d2954af867799f32fda02dcdf8f5db38442e1445/src/drive_s.ts第389行中的代码,或者您只需使用该库。

我有一个非常相似的angular1 / ionic费用应用程序,可以拍摄收据的照片并将它们上传到云端硬盘,所以很有可能。