私たちは、WebアプリケーションとGoogleドライブの間のリンク機構を開発しています。 Google Pickerをユーザーに表示し、ユーザーがファイルを選択し、選択したファイルを$ .post経由でPickerコールバックのデータにリンクします。すべてうまく動作し、Pickerコールバックで選択したファイルのid、name、mimeType、url、およびsizeBytesを取得できます。Google Picker Api sizeBytesは定義されていません
また、ユーザーにはピッカーからファイルをアップロードしてもらい、1つのことを除いても機能します。ユーザーがファイルをアップロードすると、ピッカーのコールバックでdata.docsオブジェクトが正常に取得されますが、今回の「sizeBytes」フィールドは未定義です。
何かが間違っているか間違っていますか? Picker APIにアップロードした後、「sizeBytes」フィールドが未定義となるのはなぜですか?
我々はGoogleのピッカーを作成する方法これは、
var view = new google.picker.View(google.picker.ViewId.DOCS);
var picker = new google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
.setAppId(appId)
.setOAuthToken(oauthToken)
.addView(view)
.addView(new google.picker.DocsUploadView())
.setLocale(pickerApiLocale)
.setMaxItems(5)
.setCallback(pickerCallback)
.build();
picker.setVisible(true);
編集:
これは、我々は、コールバックデータをフェッチする方法です。
function pickerCallback(data) {
if (data.action == google.picker.Action.PICKED) {
for (var i = 0; i < data.docs.length; i++) {
var selectedDoc = data.docs[i];
var params = {
fileId: selectedDoc.id,
fileName: selectedDoc.name,
mimeType: selectedDoc.mimeType,
webViewLink: selectedDoc.url,
size: selectedDoc.sizeBytes,
};
$.post('myurl',params,function(){
some code here....
});
}
}
}
ユーザーがファイルをアップロードする場合、「sizeBytes」は定義されていません。
「sizeByte」メタデータをどのように取得していますか?最初に取り出される応答があったか? – noogui
@noogui私の質問を編集しました – cck