コード例 #1
0
 def open_binary(ctx, server_relative_url):
     server_relative_url = urllib.quote(server_relative_url)
     url = "{0}web/getfilebyserverrelativeurl('{1}')/\$value".format(
         ctx.service_root_url, server_relative_url)
     request = RequestOptions(url)
     request.method = HttpMethod.Get
     response = ctx.execute_query_direct(request)
     return response
コード例 #2
0
 def save_binary(ctx, server_relative_url, content):
     server_relative_url = urllib.quote(server_relative_url)
     url = "{0}web/getfilebyserverrelativeurl('{1}')/\$value".format(ctx.service_root_url, server_relative_url)
     request = RequestOptions(url)
     request.method = HttpMethod.Post
     request.set_header('X-HTTP-Method', 'PUT')
     request.data = content
     ctx.execute_query_direct(request)
コード例 #3
0
 def request_form_digest(self):
     """Request Form Digest"""
     request = RequestOptions(self.service_root_url + "contextinfo")
     self.authenticate_request(request)
     request.set_headers(self.json_format.build_http_headers())
     response = requests.post(url=request.url,
                              headers=request.headers,
                              auth=request.auth)
     payload = response.json()
     if self.json_format.metadata == ODataMetadataLevel.Verbose:
         payload = payload['d']['GetContextWebInformation']
     self.contextWebInformation = ContextWebInformation()
     self.contextWebInformation.from_json(payload)
コード例 #4
0
 def request_form_digest(self):
     """Request Form Digest"""
     request = RequestOptions(self.service_root_url + "contextinfo")
     self.authenticate_request(request)
     request.set_headers(self.json_format.build_http_headers())
     response = requests.post(url=request.url,
                              headers=request.headers,
                              auth=request.auth)
     payload = response.json()
     if self.json_format.metadata == ODataMetadataLevel.Verbose:
         payload = payload['d']['GetContextWebInformation']
     self.contextWebInformation = ContextWebInformation()
     self.contextWebInformation.from_json(payload)
コード例 #5
0
 def save_binary(ctx, server_relative_url, content):
     server_relative_url = urllib.quote(server_relative_url)
     url = "{0}web/getfilebyserverrelativeurl('{1}')/\$value".format(
         ctx.service_root_url, server_relative_url)
     request = RequestOptions(url)
     request.method = HttpMethod.Post
     request.set_header('X-HTTP-Method', 'PUT')
     request.data = content
     ctx.execute_query_direct(request)
コード例 #6
0
ファイル: sites.py プロジェクト: mmg1/SOSA
def list_sites(username, password):
    ctx_auth = AuthenticationContext(url)
    if ctx_auth.acquire_token_for_user(username, password):
        request = ClientRequest(ctx_auth)
        options = RequestOptions("{0}/_api/web/".format(url))
        options.set_header('Accept', 'application/json')
        options.set_header('Content-Type', 'application/json')
        data = request.execute_query_direct(options)
        s = json.loads(data.content)
        web_title = s['Title']
        return "Web title: " + web_title
    else:
        return ctx_auth.get_last_error()
コード例 #7
0
 def build_request(self, query):
     request = RequestOptions(query.url)
     "set json format headers"
     request.set_headers(self.context.json_format.build_http_headers())
     if isinstance(self.context.json_format, JsonLightFormat):
         "set custom method headers"
         if query.action_type == ActionType.DeleteEntry:
             request.set_header("X-HTTP-Method", "DELETE")
             request.set_header("IF-MATCH", '*')
         elif query.action_type == ActionType.UpdateEntry:
             request.set_header("X-HTTP-Method", "MERGE")
             request.set_header("IF-MATCH", '*')
         "set method"
         if not (query.action_type == ActionType.ReadEntry
                 or query.action_type == ActionType.GetMethod):
             request.method = HttpMethod.Post
     else:
         if query.action_type == ActionType.CreateEntry:
             request.method = HttpMethod.Post
         elif query.action_type == ActionType.UpdateEntry:
             request.method = HttpMethod.Patch
         elif query.action_type == ActionType.DeleteEntry:
             request.method = HttpMethod.Delete
     "set request payload"
     request.data = query.payload
     return request
コード例 #8
0
 def build_request(self, query):
     request = RequestOptions(query.url)
     "set json format headers"
     request.set_headers(self.context.json_format.build_http_headers())
     if isinstance(self.context.json_format, JsonLightFormat):
         "set custom method headers"
         if query.action_type == ActionType.DeleteEntry:
             request.set_header("X-HTTP-Method", "DELETE")
             request.set_header("IF-MATCH", '*')
         elif query.action_type == ActionType.UpdateEntry:
             request.set_header("X-HTTP-Method", "MERGE")
             request.set_header("IF-MATCH", '*')
         "set method"
         if not (query.action_type == ActionType.ReadEntry or query.action_type == ActionType.GetMethod):
             request.method = HttpMethod.Post
     else:
         if query.action_type == ActionType.CreateEntry:
             request.method = HttpMethod.Post
         elif query.action_type == ActionType.UpdateEntry:
             request.method = HttpMethod.Patch
         elif query.action_type == ActionType.DeleteEntry:
             request.method = HttpMethod.Delete
     "set request payload"
     request.data = query.payload
     return request
コード例 #9
0
from client.office365.runtime.auth.authentication_context import AuthenticationContext
from client.office365.runtime.client_request import ClientRequest
from client.office365.runtime.utilities.request_options import RequestOptions
from settings import settings
import json

if __name__ == '__main__':
    context_auth = AuthenticationContext(url=settings['url'])
    if context_auth.acquire_token_for_user(username=settings['username'],
                                           password=settings['password']):
        """Read Web client object"""
        request = ClientRequest(settings['url'], context_auth)
        options = RequestOptions("{0}/_api/web/".format(settings['url']))
        options.set_header('Accept', 'application/json')
        options.set_header('Content-Type', 'application/json')
        data = request.execute_query_direct(options)
        s = json.loads(data.content)
        web_title = s['Title']
        print "Web title: " + web_title

    else:
        print context_auth.get_last_error()