SkyDrive API正在显示文件
SkyDrive API Displaying a file
我正在使用Skydrive API,我希望我的用户能够打开一个关于文件的视图,在那里你可以编辑它(与我们在Skydrive网页上可以看到的关于文件的相同视图)。
可能有一个WL函数,但我找不到它。另一个解决方案是我获取视图页面的URL,并用javascript在新窗口中打开它
我已经使用SkyDrive及其API实现了此解决方案。您也可以在Microsoft的Interactive Live SDK在线工具中试用此脚本。关键是获取SkyDrive的重定向链接,该链接用于您要打开的文件。这个重定向链接是为Get-api的json结果中的每个文件返回的。
处理步骤:
- 初始化Windows Live jscript api客户端
- 使用Windows Live(skydrive)OAuth进行身份验证
- 获取文件:获取SkyDrive帐户中所有文件的列表。这可以根据您的需要进行调整,并专注于使用SkyDrive帐户获取特定文件夹的列表
-
onFilesComplete:遍历json响应,查找类型为"file"且文件名为要打开的项。在这种情况下,文件名为"robots.txt"
- 显示有关找到的文件的详细信息
- 使用找到的文件的"链接"属性,在新的窗口浏览器窗口中打开url。这将使用SkyDrive默认操作打开文件。对于代码文件等已知文件类型,这将在SkyDrive的在线文件编辑器中打开它们。否则,默认操作将是下载找到的文件
示例代码:
WL.init({ client_id: clientId, redirect_uri: redirectUri });
WL.login({ "scope": "wl.skydrive" }).then(
function(response) {
getFiles();
},
function(response) {
log("Could not connect, status = " + response.status);
}
);
function getFiles() {
var files_path = "/me/skydrive/files";
WL.api({ path: files_path, method: "GET" }).then(
onGetFilesComplete,
function(response) {
log("Cannot get files and folders: " +
JSON.stringify(response.error).replace(/,/g, ",'n"));
}
);
}
function onGetFilesComplete(response) {
var items = response.data;
var foundFolder = 0;
for (var i = 0; i < items.length; i++) {
if (items[i].type === "file" &&
items[i].name === "robots.txt") {
log("Found a file with the following information: " +
JSON.stringify(items[i]).replace(/,/g, ",'n"));
foundFolder = 1;
//open file in a new browser window
window.open(items[i].link);
break;
}
}
if (foundFolder == 0) {
log("Unable to find any file(s)");
}
}
function log(message) {
var child = document.createTextNode(message);
var parent = document.getElementById('JsOutputDiv') || document.body;
parent.appendChild(child);
parent.appendChild(document.createElement("br"));
}
相关文章:
- 找不到Intel XDK cordova文件api 1.3.3文件
- 如何在IE8中启用JavaScript文件API
- 显示LinkedIn Api的个人资料数据,无需身份验证
- 文件API中的Javascript变量范围
- 我可以使用 HTML5 文件 API 预览 PDF 吗?
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- 在NW.js应用程序中为HTML5文件API设置配额
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- html5文件api,将用户选择的目录存储在sessionStorage中
- JavaScript:在文本区域中显示文件:
- HTML5文件API使用Ajax上传多个图像
- Javascript;HTML文件API-基于文件对象的javascript对象是否仍然包含文件'的位置
- 文件选择/文件API-将文件发送到嵌入式PDFObject
- SkyDrive API正在显示文件
- 使用jQuery和HTML5文件API显示文件的内容
- 如何在使用html5文件api显示文件时保持缩进
- 环回组件存储创建api来显示文件夹
- 直到应用程序重新启动(文件API)才显示对文件的修改
- 如何使用谷歌云端硬盘API显示文件中的属性
- HTML5文件api,读取xml/文本文件并显示在页面上