2016-09-07 7 views
0

私は、Googleドライブの新しいローカルファイルをGoogleドライブにアップロードするGoogleドライブの選択をしようとしています。 ピッカーが機能していて、Googleドライブのファイルが表示されていますが、選択ボタンのみがあり、[アップロード]ボタンはありません。ビューgoogle.picker.DocsUploadView()を追加しましたが、まだボタンはありません。そこGoogleピッカーアップロード

それは私のcreatePicker機能である:

function createPicker() { 
    if (pickerApiLoaded && oauthToken) { 
    var view = new google.picker.View(google.picker.ViewId.DOCS); 
    view.setMimeTypes("image/png,image/jpeg,image/jpg"); 
    var picker = new google.picker.PickerBuilder() 
     .enableFeature(google.picker.Feature.NAV_HIDDEN) 
     .enableFeature(google.picker.Feature.MULTISELECT_ENABLED) 
     .setAppId(appId) 
     .setOAuthToken(oauthToken) 
     .addView(view) 
     .addView(new google.picker.DocsUploadView()) 
     .setDeveloperKey(developerKey) 
     .setCallback(pickerCallback) 
     .build(); 
    picker.setVisible(true); 
    } 
} 

任意の考え?

答えて

0

あなたはDocsUploadViewを使用することがあります。

は、あなたのcreatePickerコードでこれを使用します。

function createPicker() { 
    // Create a view to search images. 
    var view = new google.picker.View(google.picker.ViewId.DOCS); 
    view.setMimeTypes('image/png,image/jpeg'); 

    // Use DocsUploadView to upload documents to Google Drive. 
    var uploadView = new google.picker.DocsUploadView(); 

    var picker = new google.picker.PickerBuilder(). 
     addView(view). 
     addView(uploadView). 
     setAppId(appId). 
     setOAuthToken(oauthToken). 
     setCallback(pickerCallback). 
     build(); 
    picker.setVisible(true); 
} 

// A simple callback implementation. 
function pickerCallback(data) { 
    if (data.action == google.picker.Action.PICKED) { 
     var fileId = data.docs[0].id; 
     alert('The user selected: ' + fileId); 
     createPicker(); 
    } 
} 

それは次のようになります。 enter image description here

0

残りのコードはどこにありますか?

ファイルをアップロードする最も簡単な方法は、単純なアップロード要求を行うことです。

このファイルは、接続が失敗した場合に全体をもう一度アップロードするのに十分なほど小さいです。 送信するメタデータがありません。これは、このリソースのメタデータを別の要求で送信する場合、またはメタデータがサポートされていないか、または使用可能でない場合に当てはまります。 簡易アップロードを使用するには、メソッドの/アップロードURIに対してPOSTまたはPUTリクエストを行い、クエリパラメータuploadType = mediaを追加します。たとえば:

POST https://www.googleapis.com/upload/drive/v3/files?uploadType=media 

HTTPヘッダの簡単なアップロード要求を行うときに使用するには、次のとおりです

のContent-Typeを。 APIリファレンスで指定されているメソッドの承認済みアップロードメディアデータ型の1つに設定します。

コンテンツ長。アップロードするバイト数を設定します。チャンク転送符号化を使用している場合は不要です。 例:簡易アップロード

次の例は、ドライブAPIの簡単なアップロードリクエストの使用方法を示しています。

POST /upload/drive/v3/files?uploadType=media HTTP/1.1 

Host: www.googleapis.com 

Content-Type: image/jpeg 

Content-Length: number_of_bytes_in_file 

Authorization: Bearer your_auth_token 

上記はJPEGデータ用であり、コンテンツタイプの追加や変更ができます。

詳細はここで見つけることができます:https://developers.google.com/drive/v3/web/manage-uploads#simple

関連する問題