Mainted by: Attachments.me
A feature-rich Ruby client for Egnyte Version 1 API.
- Create a session object with your Egnyte API Key
- Create an authorize url and direct a user to it, to retrieve an access_token for their account.
require'egnyte'session=Egnyte::Session.new({key: 'api_key',domain: 'egnyte_domain'})session.authorize_url('https://127.0.0.1/oauth2callback')# direct the user to the authorize URL generated,# the callback provided will be executed with an access token.session.create_access_token('the_access_token_returned')- Create a client, with the authenticated session.
@client=Egnyte::Client.new(session)The client initialized, we can start interacting with the Egnyte API.
- Fetching a folder
folder=@client.folder('/Shared')pfolder.name# outputs 'Shared'.- Listing files in a folder.
@client.folder('/Shared/Documents/').files.each{|f| pf.name}# outputs "IMG_0440.JPG", "IMG_0431.JPG"- Creating a folder.
new_folder=@client.folder('/Shared/Documents/').create('banana')pnew_folder.path# a new folder was created /Shared/Documents/banana- Deleting a folder.
folder=@client.folder('/Shared/Documents/banana')folder.delete- Fetching a file
file=@client.file('/Shared/example.txt')pfile.name# example.txt.- Deleting a file.
@client.file('/Shared/example.txt').delete- Uploading a file.
local_path="./LICENSE.txt"filename="LICENSE.txt"folder=@client.folder('Shared/Documents/')File.open(local_path)do |data|
folder.upload(filename,data)end- Downloading a file.
file=@client.file('/Shared/Documents/LICENSE.txt')file.download- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request