Example #1
0
def user_detail(user_id):
    print '### Sending detail view ###'
    client = Client(g.auth, network_layer=customLogger)
    user = client.user(user_id=user_id).get()

    # As an admin, we can act on behalf of other users by creating new auth and client objects.
    # We should also be caching this token.  For the purposes of this quickstart
    # we only cache access for one user (the admin).
    print "AUTHENTICATING USER: "******" (" + user.name + ")"
    user_auth = JWTAuth(client_id=app.config['CLIENT_ID'],
                client_secret=app.config['CLIENT_SECRET'],
                enterprise_id=app.config['EID'],
                jwt_key_id=app.config['KEY_ID'],
                rsa_private_key_file_sys_path=os.path.join(os.path.dirname(__file__),'rsakey.pem'))
    user_auth.authenticate_app_user(user) # <--- Authenticate as the user
    user_client = Client(user_auth)

    # Make API calls as the user by using the user_client object
    files = user_client.folder(folder_id='0').get_items(limit=100)

    # Build the preview link into any files sent to the client
    for f in files:
        if f._item_type=="file":
            f.preview_url = f.get(fields=['expiring_embed_link']).expiring_embed_link['url']

    token = user_auth.access_token
    return render_template("user_detail.html",
                           user=user,
                           files_list=files,
                           token=token)
Example #2
0
access_token = auth.authenticate_instance()
client = Client(auth)

ned_stark_user = client.create_user('Phillip Fry')

ned_auth = JWTAuth(
    client_id='00000000',
    client_secret='00000000',
    enterprise_id='00000000',
    jwt_key_id='00000000',
    rsa_private_key_file_sys_path='loans/private_key.pem',
    rsa_private_key_passphrase='00000000',
)

ned_auth.authenticate_app_user(ned_stark_user)
ned_client = Client(ned_auth)

#phil_fry_user = client.create_user('Phil Fry',user_id='10000')

#file_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'file.txt')
#print(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'media'))

me = ned_client.user(user_id='me').get()
print 'user_login: '******'login']
print 'uname: ' + me['name']

loan_folder = ned_client.folder(folder_id='0').create_subfolder(
    str(me['name'] + ' - Loan Application'))
upload_path = os.path.join(
    os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'media')
Example #3
0
    print "AppUsers:"
    print appusers
print '-' * 80

user_auth = JWTAuth(
    client_id=client_id,
    client_secret=client_secret,
    enterprise_id=enterprise_id,
    jwt_key_id=jwt_key_id,
    rsa_private_key_file_sys_path=rsakey_filename,
    rsa_private_key_passphrase=rsakey_passphrase,
    network_layer=logger,
)

print '-' * 80
for u in appusers:
    user = client.user(user_id=u.id).get()

    print "AUTHENTICATING USER: "******" (" + user['name'] + ")"
    user_auth.authenticate_app_user(user)  # <--- Authenticate as the user
    print '-' * 80

    user_client = Client(user_auth)
    print user_auth.access_token
print '-' * 80

print '-' * 80
print 'SCRIPT EXECUTION COMPLETE'
print "--- Completed execution in %s seconds ---" % (time.time() - start_time)
print '-' * 80
Example #4
0
    result = float(value) / float(100)
    return result


auth = JWTAuth(
    client_id='dc100pf8a6yorgujddbdi56twd1a6r4k',
    client_secret='XMIooxaNZwXFevSUbU94luaeQ9VwkPVv',
    enterprise_id='37228416',
    jwt_key_id='ir6fahr5',
    rsa_private_key_file_sys_path='c:/temp/BOXPrivatekey/private.pem')

client = Client(auth)

dexafituser = client.user('3164793504')

auth.authenticate_app_user(dexafituser)
'''
file_id='270819570112'
url = client.file(file_id).content()

#url = client.file(file_id='270819570112').content()

#print(url)

with BytesIO(url) as dcmbox:
    dcm_file = pydicom.dcmread(dcmbox)
    #print (dcm_file)
    file_destination="c:/temp/"+file_id+".dcm"
    #pydicom.dcmwrite("c:/temp/altered_file.dcm", dcm_file)
    pydicom.dcmwrite(file_destination, dcm_file)
    client_id=config.client_id,
    client_secret=config.client_secret,
    enterprise_id=config.enterprise_id,
    jwt_key_id=config.jwt_key_id,
    rsa_private_key_file_sys_path=config.rsa_private_key_file_sys_path
)

# Create an authenticated client that can interact with the Box Content API
client = Client(oauth)

user_id = config.user_id
base_folder_id = config.base_folder_id

owner = client.user(user_id=user_id)

oauth.authenticate_app_user(owner)

folder_prefix = config.folder_prefix
folder_prefix_len = len(folder_prefix)
folder_suffix = config.folder_suffix
folder_suffix_len = len(folder_suffix)
folder_prefix2 = folder_prefix.replace("(", "[")  # to test for Brackets instead of paren's
folder_prefix2 = folder_prefix2.replace(")", "]")


def pretty_print(folder_name, nest_level):
    string = ''
    for i in xrange(0, nest_level):
        string += ' '
    return string + "/" + folder_name
Example #6
0
from boxsdk import JWTAuth
from boxsdk import Client

# Configure JWT auth object
sdk = JWTAuth(
  client_id="xx",
  client_secret="xx",
  enterprise_id="xx",
  jwt_key_id="xx",
  rsa_private_key_file_sys_path="/xx/private_key_product.cfg",
  rsa_private_key_passphrase="xx",
)


# Get auth client
client = Client(sdk)
ev_user=client.user(user_id='xx')
sdk.authenticate_app_user(ev_user)
ev_client = Client(sdk)
# PERFORM API ACTIONS WITH CLIENT

root_folder = ev_client.folder(folder_id='xx')
#shared_folder = root_folder.create_subfolder('shared_folder_xx')
uploaded_file = root_folder.upload('LocalTestUrl.html')
#shared_link = shared_folder.get_shared_link()
Example #7
0
class Box(object):
    _CLIENT_ID = Configuration.CLIENT_ID
    _CLIENT_SECRET = Configuration.CLIENT_SECRET
    _ENTERPRISE_ID = Configuration.ENTERPRISE_ID
    _PASSPHRASE = Configuration.PASSPHRASE

    def __init__(self):
        self._db_engine = sqlalchemy.create_engine('sqlite+pysqlite:///photobooth.db')
        self._session_maker = sessionmaker(bind=self._db_engine, autoflush=True)
        self._session = self._session_maker()
        DeclarativeBase.metadata.create_all(self._db_engine)

        self._auth = JWTAuth(
            client_id=self._CLIENT_ID,
            client_secret=self._CLIENT_SECRET,
            enterprise_id=self._ENTERPRISE_ID,
            rsa_private_key_file_sys_path='private_key.pem',
            rsa_private_key_passphrase=self._PASSPHRASE,
        )
        self._client = Client(self._auth)

        try:
            user_id = self._session.query(PhotoBoothInfo).filter_by(key='user_id').one().value
            from boxsdk.object.user import User
            self._upload_user = User(None, user_id)
        except NoResultFound:
            self._upload_user = self._client.create_user('Photobooth Uploader')
            self._session.add(PhotoBoothInfo(key='user_id', value=self._upload_user.object_id))
            self._session.commit()

        self._uploader_auth = JWTAuth(
            client_id=self._CLIENT_ID,
            client_secret=self._CLIENT_SECRET,
            enterprise_id=self._ENTERPRISE_ID,
            rsa_private_key_file_sys_path='private_key.pem',
            rsa_private_key_passphrase=self._PASSPHRASE,
        )
        self._uploader_auth.authenticate_app_user(self._upload_user)
        self._uploader = Client(self._uploader_auth)
        try:
            folder_id = self._session.query(PhotoBoothInfo).filter_by(key='folder_id').one().value
            self._folder = self._uploader.folder(folder_id)
        except NoResultFound:
            self._folder = self._uploader.folder('0').create_subfolder('Photobooth Images')
            self._session.add(PhotoBoothInfo(key='folder_id', value=self._folder.object_id))
            self._session.commit()

    def upload_photo(self, name, message, photo_sys_path):
        print 'uploading photo ', photo_sys_path, ' to box'
        photo = self._folder.upload(photo_sys_path)
        photo.metadata().create({
            'name': name,
            'message': message,
        })

    def download_photo(self, file_id, photo_sys_path):
        print 'downloading photo ', photo_sys_path, ' from box'
        with open(photo_sys_path, 'wb') as file_handle:
            self._client.file(file_id).download_to(file_handle)

    def list_files(self):
        return self._folder.get_items(1000)