Google은 웹 애플리케이션과 Google 드라이브 간의 연결 메커니즘을 개발 중입니다. Google Picker를 사용자에게 표시하고 사용자가 파일을 선택하고 $ .post를 통해 Picker 콜백의 데이터에 선택한 파일을 연결합니다. 모든 것이 잘 작동하며 Picker 콜백에서 선택된 파일의 id, name, mimeType, url 및 sizeBytes를 가져올 수 있습니다.Google Picker Api sizeBytes가 정의되지 않았습니다.
또한 사용자가 Picker에서 파일을 업로드하고 한 가지를 제외하고는 파일을 업로드하기를 원합니다. 사용자가 파일을 업로드하면 picker 콜백에서 data.docs 객체를 성공적으로 가져 오지만 이번에는 "sizeBytes"필드가 정의되지 않았습니다.
무언가를 놓치거나 잘못 되었습니까? Picker API에 업로드 한 후 "sizeBytes"필드가 정의되지 않은 이유는 무엇입니까?
우리는 구글 선택기를 만드는 방법이있다,
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