Google Drive API - 上传的文件为0 KB,“暂时移动”

时间:2017-01-16 12:35:31

标签: javascript php google-api google-drive-api

我正在使用Google Drive API,以便用户将文件从Google云端硬盘帐户上传到我的网站。当我保存这些文件时,我得到0 KB PDF,107 KB DOC“临时移动”等等......

GDrive JS方法:

var MyGoogleDrive = function (obj) {
        
    // The Browser API key obtained from the Google Developers Console.
    var developerKey = 'AIzaSyARiUlXRErh7NCQTv6j7YvWCuRaTCZ64S4';
    
    // The Client ID obtained from the Google Developers Console. Replace with your own Client ID.
    var clientId = "405458969849-eqr9rrjsq5th2a0av2o3bc72adn4d8hu.apps.googleusercontent.com";
    
    // Scope to use to access user's photos.
    var scope = ['https://www.googleapis.com/auth/drive.readonly'];
    
    var pickerApiLoaded = false;
    var oauthToken;
    
    
    // Use the API Loader script to load google.picker and gapi.auth.
    function onApiLoad() {
        gapi.load('auth', {'callback': function(){}});
        gapi.load('picker', {'callback': onPickerApiLoad});
    }
    
    function onAuthApiLoad() {
        window.gapi.auth.authorize(
            {
		'client_id': clientId,
		'scope': scope,
		'immediate': false
            },
            handleAuthResult);
    }
    
    function onPickerApiLoad() {
        pickerApiLoaded = true;
        createPicker();
    }
    
    function handleAuthResult(authResult) {
        if (authResult && !authResult.error) {
            oauthToken = authResult.access_token;
            pickerApiLoaded = true;
            createPicker();
        }
    }
    
    // Create and render a Picker object for picking user Photos.
    function createPicker() {
        if (pickerApiLoaded && oauthToken) {
            var view = new google.picker.DocsView(google.picker.ViewId.DOCUMENTS);
			view.setIncludeFolders(true);
            view.setMimeTypes("application/pdf, image/png, image/jpeg, application/vnd.openxmlformats-officedocument.wordprocessingml.document");
	    
			/*var view1 = new google.picker.DocsView(google.picker.ViewId.DOCUMENTS);
			view1.setIncludeFolders(true);
			var view2 = new google.picker.DocsView(google.picker.ViewId.DOCUMENTS);
			view2.setIncludeFolders(true);*/

            var picker = new google.picker.PickerBuilder()
                .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
                .setOAuthToken(oauthToken)
				.addView(view)
				.addView(google.picker.ViewId.FOLDERS)
				.addView(google.picker.ViewId.DOCS)
				.addView(google.picker.ViewId.DOCUMENTS)
				.addView(google.picker.ViewId.SPREADSHEETS)
				.addView(google.picker.ViewId.DOCS_IMAGES)
				.addView(google.picker.ViewId.PDFS)
				.setLocale('de')
				.setDeveloperKey(developerKey)
				.setCallback(pickerCallback)
				.build();
	    
            picker.setVisible(true);
      }
    }

      // A simple callback implementation.
    function pickerCallback(data) {
        if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
            var files = data[google.picker.Response.DOCUMENTS];
			
            for(var i=0, l = files.length; i<l; i++){
                (function(i){
                    $.ajax({
                        url: obj.url,
                        type: 'post',
                        data: 'name='+files[i].name+'&link='+files[i].embedUrl+'&provider=google',
                        dataType: 'json',
                        async: false,
                        success: function (data){
                            if(data.name){
                                obj.htmlBlock.add(data);
                            }
                        },
                        error: function(error){
                            alert(error.responseText);
                        }
                    });
                })(i);
            }
        }
    }

    return {
	init: function () {
	    this.$el = $(obj.el);
	    var self = this;
	    onApiLoad();
      
	    self.$el.click(function(){
		onAuthApiLoad();
	    });
	}
    };
 
}

上传文档的回复

<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://accounts.google.com/ServiceLogin?service=wise&amp;passive=1209600&amp;continue=https://drive.google.com/file/d/0B6eEvsGbzVY9MWcxbnVfWWpBX2s/preview&amp;followup=https://drive.google.com/file/d/0B6eEvsGbzVY9MWcxbnVfWWpBX2s/preview">here</A>.
</BODY>
</HTML>

0 个答案:

没有答案