Получить ссылку для загрузки и обмена с помощью API-интерфейса Onedrive (Skydire) без загрузки
Пожалуйста, может кто-нибудь помочь мне показать мне, как изменить этот скрипт просто (чтобы выбрать), чтобы получить ссылку для загрузки и общего доступа к файлу с размером и mimetype, используя API-интерфейс Onedrive, без загрузки файла (как в этой функции):
WL.init({ client_id: clientId, redirect_uri: redirectUri });
WL.login({ "scope": "wl.skydrive wl.signin" }).then(
function(response) {
openFromSkyDrive();
},
function(response) {
log("Failed to authenticate.");
}
);
function openFromSkyDrive() {
WL.fileDialog({
mode: 'open',
select: 'single'
}).then(
function(response) {
log("The following file is being downloaded:");
log("");
var files = response.data.files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
log(file.name);
WL.download({ "path": file.id + "/content" });
}
},
function(errorResponse) {
log("WL.fileDialog errorResponse = " + JSON.stringify(errorResponse));
}
);
}
function log(message) {
var child = document.createTextNode(message);
var parent = document.getElementById('JsOutputDiv') || document.body;
parent.appendChild(child);
parent.appendChild(document.createElement("br"));
}
демонстрационная ссылка: http://isdk.dev.live.com/dev/isdk/ISDK.aspx?category=scenarioGroup_skyDrive&index=0
Спасибо за помощь.
1 ответ
Я вижу следующие свойства, доступные для файловой переменной, которая возвращается из средства выбора:
id, описание, имя, тип, ссылка, upload_location, источник, фото
с помощью этой версии метода openFromSkyDrive():
function openFromSkyDrive() {
WL.fileDialog({
mode: 'open',
select: 'single'
}).then(
function(response) {
log("The following file is being downloaded:");
log("");
var files = response.data.files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
log(file.name);
/* show all the the properties of 'file' variable */
for( var p in file){
log(p);
}
/* get the type, which really isn't a full mimetype */
log(file.type);
/* get the share link */
log(file.link);
/* do not download the file */
// WL.download({ "path": file.id + "/content" });
}
},
function(errorResponse) {
log("WL.fileDialog errorResponse = " + JSON.stringify(errorResponse));
}
);
}