如何在角度下载谷歌驱动文件

时间:2015-05-07 14:31:00

标签: angularjs google-drive-api

我有一个角度应用程序,它使用谷歌驱动器选择器允许用户选择要下载的文件。在谷歌开发者证书区域,我有javascript起源和引用设置使用localhost:3000所以选择器打开就好了。但是,从那时起,我似乎无法获得所选文件。这是尝试下载文件的角度代码。

$scope.$watchCollection('googleFiles', function (newGoogleFiles) {
    if (newGoogleFiles.length > 0) {
        $scope.filename = newGoogleFiles[newGoogleFiles.length - 1].name;
        $scope.fileUrl = newGoogleFiles[newGoogleFiles.length - 1].url;
        var deferred = $q.defer();

        $http.get($scope.fileUrl, { responseType: 'arraybuffer'})
            .success(function (data) {
                console.log(data);
                deferred.resolve(data);
            });
        return deferred.promise;
    }
});

而不是获取我得到的文件 - XMLHttpRequest无法加载https://www.google.com/a/##############/edit?usp%3Ddrive_web&ltmpl=docs。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' null'因此不允许访问。

我猜我需要在文件的$ http.get请求中设置一些内容,但我不知道是什么。任何人都有任何想法?感谢。

1 个答案:

答案 0 :(得分:0)

您正在处理的是“CORS”(跨源资源共享)。

'Access-Control-Allow-Origin'标头必须在服务器上设置。您可以登录谷歌应用程序设置并告诉它可以预期的“起源”(例如:localhost,www.yourwebsite.com)。