@667/js-owncloud-client 中文文档教程
这个表单的主要目的是更新deps(主要是现在已经弃用的request),axios、axios-retry和form-data基本上取代了request包。 此外,node-lts 分支是主要关注的分支,因为 owncloud sdk 通常设计为在浏览器而非节点中运行。
Install
$ npm install js-owncloud-client
Usage
Node.JS
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
// Login
oc.login('username', 'password').then(status => {
// STUFF
}).catch(error => {
// HANDLE ERROR
});
// Share File With Link
oc.shares.shareFileWithLink('linkToYourFile').then(shareInfo => {
console.log("Link is : " + shareInfo.getLink());
}).catch(error => {
// HANDLE ERROR
});
// List all files
oc.files.list('/path/to/file/folder').then(files => {
console.log(files);
}).catch(error => {
console.log(error);
});
Browser
<script type="text/javascript" src="./js-owncloud-client/browser/owncloud.js"></script>
<script type="text/javascript">
// var oc is global
oc.setInstance('*owncloud instance URL*');
// Login
oc.login('username', 'password').then(status => {
window.alert(status);
}).catch(error => {
window.alert(error);
});
// Share File With Link
oc.shares.shareFileWithLink('linkToYourFile').then(shareInfo => {
window.alert("Link is : " + shareInfo.getLink());
}).catch(error => {
window.alert(error);
});
// List all files
oc.files.list('/path/to/file/folder').then(files => {
console.log(files);
}).catch(error => {
console.log(error);
});
</script>
Example Projects
Node.JS Based
Browser Based
使用此库的示例文本文件保存和检索静态 Web 应用程序:链接
All Methods Available
General
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
setInstance | oc.setInstance(instance) |
login | oc.login(username, password) |
getConfig | oc.getConfig() |
getVersion | oc.getVersion() |
getCapabilities | oc.getCapabilities() |
Files Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
list | oc.files.list(/path/to/file/folder, depth) |
getFileContents | oc.files.getFileContents(path/to/file/folder) |
putFileContents | oc.files.putFileContents(path/to/file, contents) |
mkdir | oc.files.mkdir(path/to/folder) |
createFolder | oc.files.createFolder(path/to/folder) |
delete | oc.files.delete(path/to/file/folder) |
fileInfo | oc.files.fileInfo(path/to/file/folder) |
getFile | oc.files.getFile(remotePath, localPath) |
getDirectoryAsZip | oc.files.getDirectoryAsZip(remotePath, localPath) |
putFile | oc.files.putFile(remotePath, localPath) |
putDirectory | oc.files.putDirectory(remotePath, localPath) |
move | oc.files.move(source, target) |
copy | oc.files.copy(source, target) |
Apps Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
getApps | oc.apps.getApps() |
getAttribute | oc.apps.getAttribute(app, key) |
setAttribute | oc.apps.setAttribute(app, key, value) |
deleteAttribute | oc.apps.deleteAttribute(app, key) |
enableApp | oc.apps.enableApp(appName) |
disableApp | oc.apps.disableApp(appName) |
Group Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
createGroup | oc.groups.createGroup(groupName) |
deleteGroup | oc.groups.deleteGroup(groupName) |
getGroups | oc.groups.getGroups() |
getGroupMembers | oc.groups.getGroupMembers(groupName) |
groupExists | oc.groups.groupExists(groupName) |
Share Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
shareFileWithLink | oc.shares.shareFileWithLink(path, {perms: perms, publicUpload: publicUpload, password: password}) |
updateShare | oc.shares.updateShare(shareId, {perms: perms, publicUpload: publicUpload, password: password}) |
shareFileWithUser | oc.shares.shareFileWithUser(path, username, {perms: perms, remoteUser: remoteUser }) |
shareFileWithGroup | oc.shares.shareFileWithGroup(path, groupname, {perms: perms }) |
getShares | oc.shares.getShares() |
isShared | oc.shares.isShared(path/to/file/folder) |
getShare | oc.shares.getShare(shareId) |
listOpenRemoteShare | oc.shares.listOpenRemoteShare() |
acceptRemoteShare | oc.shares.acceptRemoteShare(shareId) |
declineRemoteShare | oc.shares.declineRemoteShare(shareId) |
deleteShare | oc.shares.deleteShare(shareId) |
User Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
createUser | oc.users.createUser(username, password) |
deleteUser | oc.users.deleteUser(username) |
searchUsers | oc.users.searchUsers(searchKey) |
userExists | oc.users.userExists(username) |
getUsers | oc.users.getUsers() |
setUserAttribute | oc.users.setUserAttribute(username, key, value) |
addUserToGroup | oc.users.addUserToGroup(username, groupName) |
getUserGroups | oc.users.getUserGroups(username) |
userIsInGroup | oc.users.userIsInGroup(username, groupName) |
getUser | oc.users.getUser(username) |
removeUserFromGroup | oc.users.removeUserFromGroup(username, groupName) |
addUserToSubadminGroup | oc.users.addUserToSubadminGroup(username, groupName) |
getUserSubadminGroups | oc.users.getUserSubadminGroups(username) |
userIsInSubadminGroup | oc.users.userIsInSubadminGroup(username, groupName) |
Building the Documentation
Swagger Documentation
卡住了? 只需键入此命令即可在您的浏览器中查看上述所有可用方法!
$ cd node_modules/js-owncloud-client/
$ make swagger
如果您打开通过运行上述命令显示的链接,您将看到类似这样的内容:
在这里,您可以单击任何方法并输入值,以在浏览器本身中试验这些方法!
现在不是很酷吗? :wink:
JSDocs
要构建 jsdoc,请键入此命令并按照终端上的说明进行操作:
$ cd node_modules/js-owncloud-client/
$ make jsdocs
Unit tests
以下命令将运行所有单元测试。 在运行该命令之前,请确保您已相应地编辑了 owncloud/test/config.json
文件。
$ cd node_modules/js-owncloud-client/
$ make test
Team
The main purpose of this form was to update the deps (mainly request which is now deprecated) and axios, axios-retry, and form-data basically take the place of the request package. Further the node-lts branch is the primary branch of concern as owncloud sdk in general is designed to run in the browser not node.
Install
$ npm install js-owncloud-client
Usage
Node.JS
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
// Login
oc.login('username', 'password').then(status => {
// STUFF
}).catch(error => {
// HANDLE ERROR
});
// Share File With Link
oc.shares.shareFileWithLink('linkToYourFile').then(shareInfo => {
console.log("Link is : " + shareInfo.getLink());
}).catch(error => {
// HANDLE ERROR
});
// List all files
oc.files.list('/path/to/file/folder').then(files => {
console.log(files);
}).catch(error => {
console.log(error);
});
Browser
<script type="text/javascript" src="./js-owncloud-client/browser/owncloud.js"></script>
<script type="text/javascript">
// var oc is global
oc.setInstance('*owncloud instance URL*');
// Login
oc.login('username', 'password').then(status => {
window.alert(status);
}).catch(error => {
window.alert(error);
});
// Share File With Link
oc.shares.shareFileWithLink('linkToYourFile').then(shareInfo => {
window.alert("Link is : " + shareInfo.getLink());
}).catch(error => {
window.alert(error);
});
// List all files
oc.files.list('/path/to/file/folder').then(files => {
console.log(files);
}).catch(error => {
console.log(error);
});
</script>
Example Projects
Node.JS Based
Browser Based
A sample text-file saving and retreiving static web app which uses this library: link
All Methods Available
General
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
setInstance | oc.setInstance(instance) |
login | oc.login(username, password) |
getConfig | oc.getConfig() |
getVersion | oc.getVersion() |
getCapabilities | oc.getCapabilities() |
Files Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
list | oc.files.list(/path/to/file/folder, depth) |
getFileContents | oc.files.getFileContents(path/to/file/folder) |
putFileContents | oc.files.putFileContents(path/to/file, contents) |
mkdir | oc.files.mkdir(path/to/folder) |
createFolder | oc.files.createFolder(path/to/folder) |
delete | oc.files.delete(path/to/file/folder) |
fileInfo | oc.files.fileInfo(path/to/file/folder) |
getFile | oc.files.getFile(remotePath, localPath) |
getDirectoryAsZip | oc.files.getDirectoryAsZip(remotePath, localPath) |
putFile | oc.files.putFile(remotePath, localPath) |
putDirectory | oc.files.putDirectory(remotePath, localPath) |
move | oc.files.move(source, target) |
copy | oc.files.copy(source, target) |
Apps Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
getApps | oc.apps.getApps() |
getAttribute | oc.apps.getAttribute(app, key) |
setAttribute | oc.apps.setAttribute(app, key, value) |
deleteAttribute | oc.apps.deleteAttribute(app, key) |
enableApp | oc.apps.enableApp(appName) |
disableApp | oc.apps.disableApp(appName) |
Group Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
createGroup | oc.groups.createGroup(groupName) |
deleteGroup | oc.groups.deleteGroup(groupName) |
getGroups | oc.groups.getGroups() |
getGroupMembers | oc.groups.getGroupMembers(groupName) |
groupExists | oc.groups.groupExists(groupName) |
Share Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
shareFileWithLink | oc.shares.shareFileWithLink(path, {perms: perms, publicUpload: publicUpload, password: password}) |
updateShare | oc.shares.updateShare(shareId, {perms: perms, publicUpload: publicUpload, password: password}) |
shareFileWithUser | oc.shares.shareFileWithUser(path, username, {perms: perms, remoteUser: remoteUser }) |
shareFileWithGroup | oc.shares.shareFileWithGroup(path, groupname, {perms: perms }) |
getShares | oc.shares.getShares() |
isShared | oc.shares.isShared(path/to/file/folder) |
getShare | oc.shares.getShare(shareId) |
listOpenRemoteShare | oc.shares.listOpenRemoteShare() |
acceptRemoteShare | oc.shares.acceptRemoteShare(shareId) |
declineRemoteShare | oc.shares.declineRemoteShare(shareId) |
deleteShare | oc.shares.deleteShare(shareId) |
User Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code |
---|---|
createUser | oc.users.createUser(username, password) |
deleteUser | oc.users.deleteUser(username) |
searchUsers | oc.users.searchUsers(searchKey) |
userExists | oc.users.userExists(username) |
getUsers | oc.users.getUsers() |
setUserAttribute | oc.users.setUserAttribute(username, key, value) |
addUserToGroup | oc.users.addUserToGroup(username, groupName) |
getUserGroups | oc.users.getUserGroups(username) |
userIsInGroup | oc.users.userIsInGroup(username, groupName) |
getUser | oc.users.getUser(username) |
removeUserFromGroup | oc.users.removeUserFromGroup(username, groupName) |
addUserToSubadminGroup | oc.users.addUserToSubadminGroup(username, groupName) |
getUserSubadminGroups | oc.users.getUserSubadminGroups(username) |
userIsInSubadminGroup | oc.users.userIsInSubadminGroup(username, groupName) |
Building the Documentation
Swagger Documentation
Stuck? Just type this to see all the above available methods live in action in your browser!
$ cd node_modules/js-owncloud-client/
$ make swagger
If you open the link showed by running the above command, you will see something like this :
Here, you can click on any method and type in values, to experiment with the methods in the browser itself!
Now isn't that cool? :wink:
JSDocs
To build the jsdocs, type this command and follow the instructions on the terminal :
$ cd node_modules/js-owncloud-client/
$ make jsdocs
Unit tests
The following command will run all unit tests. Before running the command, make sure you have edited the owncloud/test/config.json
file accordingly.
$ cd node_modules/js-owncloud-client/
$ make test