Skip to content

Commit

Permalink
SharePoint API (web, list & portal namespaces) updated
Browse files Browse the repository at this point in the history
  • Loading branch information
vgrem committed Sep 28, 2024
1 parent 03330dc commit 3600a76
Show file tree
Hide file tree
Showing 48 changed files with 597 additions and 65 deletions.
4 changes: 3 additions & 1 deletion examples/directory/applications/has_delegated_perms.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
user = client.users.get_by_principal_name(test_admin_principal_name)
client_app = client.applications.get_by_app_id(test_client_id)
# result = resource.get_delegated(client_app, user, app_role).execute_query()
result = resource.get_delegated_permissions(test_client_id, user, app_role).execute_query()
result = resource.get_delegated_permissions(
test_client_id, user, app_role
).execute_query()
if len(result) == 0:
print("Delegated permission '{0}' is not set".format(app_role))
else:
Expand Down
10 changes: 2 additions & 8 deletions examples/directory/applications/list_application_perms.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
from office365.graph_client import GraphClient
from tests import (
test_client_id,
test_tenant,
test_client_secret,
test_tenant,
)

# client = GraphClient.with_token_interactive(
Expand All @@ -21,14 +21,8 @@
client = GraphClient.with_client_secret(test_tenant, test_client_id, test_client_secret)


resource = (
client.service_principals.get_by_name("Microsoft Graph")
)
resource = client.service_principals.get_by_name("Microsoft Graph")

result = resource.get_application_permissions(test_client_id).execute_query()
for app_role in result.value:
print(app_role)




14 changes: 9 additions & 5 deletions examples/directory/applications/list_delegated_perms.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,23 @@
from office365.graph_client import GraphClient
from tests import (
test_client_id,
test_tenant,
test_client_secret,
test_tenant,
)

#client = GraphClient.with_token_interactive(
# client = GraphClient.with_token_interactive(
# test_tenant, test_client_id, test_admin_principal_name
#)
# )

client = GraphClient.with_client_secret(test_tenant, test_client_id, test_client_secret)


resource = client.service_principals.get_by_name("Microsoft Graph").get().execute_query()
result = resource.get_delegated_permissions(test_client_id, only_admin_consent=True).execute_query()
resource = (
client.service_principals.get_by_name("Microsoft Graph").get().execute_query()
)
result = resource.get_delegated_permissions(
test_client_id, only_admin_consent=True
).execute_query()

for grant in result:
print(grant.scope)
4 changes: 3 additions & 1 deletion examples/directory/applications/revoke_application_perms.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@

# Get resource
resource = client.service_principals.get_by_name("Microsoft Graph")
resource.revoke_application_permissions(test_client_id, "MailboxSettings.Read").execute_query()
resource.revoke_application_permissions(
test_client_id, "MailboxSettings.Read"
).execute_query()
4 changes: 3 additions & 1 deletion examples/directory/applications/revoke_delegated_perms.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,6 @@
# Step 1: Get resource service principal
resource = client.service_principals.get_by_name("Microsoft Graph")
user = client.users.get_by_principal_name(test_user_principal_name)
resource.revoke_delegated_permissions(test_client_id, user, "User.Read.All").execute_query()
resource.revoke_delegated_permissions(
test_client_id, user, "User.Read.All"
).execute_query()
2 changes: 0 additions & 2 deletions examples/sharepoint/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@



28 changes: 28 additions & 0 deletions examples/sharepoint/lists/get_data_as_stream.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
"""
Returns a SharePoint List data
"""
from office365.sharepoint.client_context import ClientContext
from tests import test_client_credentials, test_team_site_url

ctx = ClientContext(test_team_site_url).with_credentials(test_client_credentials)

view_xml = """
<View>
<Query>
<Where>
</Where>
</Query>
<ViewFields>
<FieldRef Name='Title' />
<FieldRef Name='Created' />
<FieldRef Name='Author' />
</ViewFields>
<RowLimit>100</RowLimit>
</View>
"""


result = (
ctx.web.get_list_data_as_stream("/Shared Documents", view_xml=view_xml).execute_query()
)
print(result.value)
3 changes: 2 additions & 1 deletion examples/sharepoint/tenant/export_tenant_settings.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
""" """
from office365.sharepoint.client_context import ClientContext
from tests import test_admin_credentials, test_admin_site_url

admin_client = ClientContext(test_admin_site_url).with_credentials(
test_admin_credentials
)
result = admin_client.tenant.export_to_csv().execute_query()
result = admin_client.tenant.export_to_csv(view_xml="<View/>", list_name="Style Library").execute_query()
print(
"Sites details have been exported into {0}{1}".format(
test_admin_site_url, result.value
Expand Down
4 changes: 2 additions & 2 deletions generator/import_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ def export_to_file(path, content):
"--endpoint",
dest="endpoint",
help="Import metadata endpoint",
default="graph",
default="sharepoint",
)
parser.add_argument(
"-p",
"--path",
dest="path",
default="./metadata/MicrosoftGraph.xml",
default="./metadata/SharePoint.xml",
help="Import metadata endpoint",
)

Expand Down
136 changes: 136 additions & 0 deletions generator/metadata/MicrosoftGraph.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3773,6 +3773,27 @@
</Collection>
</Annotation>
</Annotations>
<Annotations Target="microsoft.graph.communityPrivacy">
<Annotation Term="Org.OData.Core.V1.Description" String="Types of communityPrivacy."/>
</Annotations>
<Annotations Target="microsoft.graph.communityPrivacy/public">
<Annotation Term="Org.OData.Core.V1.Description" String="Any user from the tenant can join and participate in the community."/>
</Annotations>
<Annotations Target="microsoft.graph.communityPrivacy/private">
<Annotation Term="Org.OData.Core.V1.Description" String="A community administrator must add tenant users to the community before they can participate."/>
</Annotations>
<Annotations Target="microsoft.graph.communityPrivacy/unknownFutureValue">
<Annotation Term="Org.OData.Core.V1.Description" String="A marker value for members added after the release of this API."/>
</Annotations>
<Annotations Target="microsoft.graph.engagementAsyncOperationType">
<Annotation Term="Org.OData.Core.V1.Description" String="Types of engagementAsyncOperationType. Members will be added here as more async operations are supported."/>
</Annotations>
<Annotations Target="microsoft.graph.engagementAsyncOperationType/createCommunity">
<Annotation Term="Org.OData.Core.V1.Description" String="Operation to create a Viva Engage community."/>
</Annotations>
<Annotations Target="microsoft.graph.engagementAsyncOperationType/unknownFutureValue">
<Annotation Term="Org.OData.Core.V1.Description" String="A marker value for members added after the release of this API."/>
</Annotations>
<Annotations Target="microsoft.graph.directoryObject">
<Annotation Term="Org.OData.Capabilities.V1.ChangeTracking">
<Record>
Expand Down Expand Up @@ -3909,6 +3930,7 @@
<PropertyValue Property="Supported" Bool="true"/>
</Record>
</Annotation>
<Annotation Term="Org.OData.Core.V1.Description" String="Represents a Microsoft Entra group."/>
</Annotations>
<Annotations Target="microsoft.graph.resourceSpecificPermissionGrant">
<Annotation Term="Org.OData.Capabilities.V1.CountRestrictions">
Expand Down Expand Up @@ -4163,6 +4185,7 @@
<PropertyValue Property="Supported" Bool="true"/>
</Record>
</Annotation>
<Annotation Term="Org.OData.Core.V1.Description" String="Represents a Microsoft Entra user account."/>
</Annotations>
<Annotations Target="microsoft.graph.oAuth2PermissionGrant">
<Annotation Term="Org.OData.Capabilities.V1.ChangeTracking">
Expand Down Expand Up @@ -6158,6 +6181,9 @@
</Annotation>
<Annotation Term="Org.OData.Capabilities.V1.TopSupported" Bool="true"/>
</Annotations>
<Annotations Target="microsoft.graph.longRunningOperation">
<Annotation Term="Org.OData.Core.V1.Description" String="The status of a long-running operation."/>
</Annotations>
<Annotations Target="microsoft.graph.identityProvider">
<Annotation Term="Org.OData.Core.V1.Revisions">
<Collection>
Expand Down Expand Up @@ -16768,6 +16794,57 @@
</Record>
</Annotation>
</Annotations>
<Annotations Target="microsoft.graph.community">
<Annotation Term="Org.OData.Core.V1.Description" String="Represents a community in Viva Engage that is a central place for conversations,
files, events, and updates for people sharing a common interest or goal."/>
</Annotations>
<Annotations Target="microsoft.graph.community/description">
<Annotation Term="Org.OData.Core.V1.Description" String="The description of the community. The maximum length is 1024 characters."/>
</Annotations>
<Annotations Target="microsoft.graph.community/displayName">
<Annotation Term="Org.OData.Core.V1.Description" String="The name of the community. The maximum length is 255 characters."/>
</Annotations>
<Annotations Target="microsoft.graph.community/groupId">
<Annotation Term="Org.OData.Core.V1.Description" String="The ID of the Microsoft 365 group that manages the membership of this community."/>
<Annotation Term="Org.OData.Core.V1.Permissions">
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
</Annotation>
</Annotations>
<Annotations Target="microsoft.graph.community/privacy">
<Annotation Term="Org.OData.Core.V1.Description" String="Defines the privacy level of the community. The possible values are: public, private, unknownFutureValue."/>
</Annotations>
<Annotations Target="microsoft.graph.community/group">
<Annotation Term="Org.OData.Core.V1.Description" String="The Microsoft 365 group that manages the membership of this community."/>
</Annotations>
<Annotations Target="microsoft.graph.community/owners">
<Annotation Term="Org.OData.Core.V1.Description" String="The admins of the community. Limited to 100 users."/>
</Annotations>
<Annotations Target="microsoft.graph.employeeExperience">
<Annotation Term="Org.OData.Core.V1.Description" String="Represents a container that exposes navigation properties for employee experience resources."/>
</Annotations>
<Annotations Target="microsoft.graph.employeeExperience/communities">
<Annotation Term="Org.OData.Core.V1.Description" String="A collection of communities in Viva Engage."/>
</Annotations>
<Annotations Target="microsoft.graph.engagementAsyncOperation">
<Annotation Term="Org.OData.Core.V1.Description" String="Represents the status of a Viva Engage async operation that is an operation that transcends the
lifetime of a single API request. These operations are long-running or too expensive to complete
within the time frame of their original request."/>
</Annotations>
<Annotations Target="microsoft.graph.employeeExperience/engagementAsyncOperations">
<Annotation Term="Org.OData.Core.V1.Description" String="A collection of long-running, asynchronous operations related to Viva Engage."/>
</Annotations>
<Annotations Target="microsoft.graph.engagementAsyncOperation/operationType">
<Annotation Term="Org.OData.Core.V1.Description" String="The type of the long-running operation."/>
<Annotation Term="Org.OData.Core.V1.Permissions">
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
</Annotation>
</Annotations>
<Annotations Target="microsoft.graph.engagementAsyncOperation/resourceId">
<Annotation Term="Org.OData.Core.V1.Description" String="The ID of the object created or modified as a result of this async operation."/>
<Annotation Term="Org.OData.Core.V1.Permissions">
<EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
</Annotation>
</Annotations>
<Annotations Target="microsoft.graph.deviceConfigurationDeviceActivity(microsoft.graph.reportRoot)">
<Annotation Term="Org.OData.Core.V1.Description" String="Metadata for the device configuration device activity report"/>
</Annotations>
Expand Down Expand Up @@ -40522,6 +40599,15 @@
<Member Name="linkedFiles" Value="2"/>
<Member Name="unknownFutureValue" Value="4"/>
</EnumType>
<EnumType Name="additionalOptions" IsFlags="true">
<Member Name="none" Value="0"/>
<Member Name="teamsAndYammerConversations" Value="1"/>
<Member Name="cloudAttachments" Value="2"/>
<Member Name="allDocumentVersions" Value="4"/>
<Member Name="subfolderContents" Value="8"/>
<Member Name="listAttachments" Value="16"/>
<Member Name="unknownFutureValue" Value="32"/>
</EnumType>
<EnumType Name="caseAction">
<Member Name="contentExport" Value="0"/>
<Member Name="applyTags" Value="1"/>
Expand All @@ -40532,6 +40618,8 @@
<Member Name="holdUpdate" Value="6"/>
<Member Name="unknownFutureValue" Value="7"/>
<Member Name="purgeData" Value="8"/>
<Member Name="exportReport" Value="9"/>
<Member Name="exportResult" Value="10"/>
</EnumType>
<EnumType Name="caseOperationStatus">
<Member Name="notStarted" Value="0"/>
Expand Down Expand Up @@ -40577,12 +40665,28 @@
<Member Name="allCaseNoncustodialDataSources" Value="8"/>
<Member Name="unknownFutureValue" Value="16"/>
</EnumType>
<EnumType Name="exportCriteria" IsFlags="true">
<Member Name="searchHits" Value="1"/>
<Member Name="partiallyIndexed" Value="2"/>
<Member Name="unknownFutureValue" Value="4"/>
</EnumType>
<EnumType Name="exportFileStructure">
<Member Name="none" Value="0"/>
<Member Name="directory" Value="1"/>
<Member Name="pst" Value="2"/>
<Member Name="unknownFutureValue" Value="3"/>
</EnumType>
<EnumType Name="exportFormat">
<Member Name="pst" Value="0"/>
<Member Name="msg" Value="1"/>
<Member Name="eml" Value="2"/>
<Member Name="unknownFutureValue" Value="3"/>
</EnumType>
<EnumType Name="exportLocation" IsFlags="true">
<Member Name="responsiveLocations" Value="1"/>
<Member Name="nonresponsiveLocations" Value="2"/>
<Member Name="unknownFutureValue" Value="4"/>
</EnumType>
<EnumType Name="exportOptions" IsFlags="true">
<Member Name="originalFiles" Value="1"/>
<Member Name="text" Value="2"/>
Expand Down Expand Up @@ -41218,6 +41322,17 @@
<EntityType Name="ediscoveryReviewSetQuery" BaseType="microsoft.graph.security.search"/>
<EntityType Name="ediscoveryHoldOperation" BaseType="microsoft.graph.security.caseOperation"/>
<EntityType Name="ediscoveryPurgeDataOperation" BaseType="microsoft.graph.security.caseOperation"/>
<EntityType Name="ediscoverySearchExportOperation" BaseType="microsoft.graph.security.caseOperation">
<Property Name="additionalOptions" Type="microsoft.graph.security.additionalOptions"/>
<Property Name="description" Type="Edm.String"/>
<Property Name="displayName" Type="Edm.String"/>
<Property Name="exportCriteria" Type="microsoft.graph.security.exportCriteria"/>
<Property Name="exportFileMetadata" Type="Collection(microsoft.graph.security.exportFileMetadata)"/>
<Property Name="exportFormat" Type="microsoft.graph.security.exportFormat"/>
<Property Name="exportLocation" Type="microsoft.graph.security.exportLocation"/>
<Property Name="exportSingleItems" Type="Edm.Boolean"/>
<NavigationProperty Name="search" Type="microsoft.graph.security.ediscoverySearch"/>
</EntityType>
<EntityType Name="ediscoveryTagOperation" BaseType="microsoft.graph.security.caseOperation"/>
<EntityType Name="healthIssue" BaseType="graph.entity">
<Property Name="additionalInformation" Type="Collection(Edm.String)" Nullable="false"/>
Expand Down Expand Up @@ -41361,13 +41476,16 @@
<Property Name="azureAdDeviceId" Type="Edm.String"/>
<Property Name="defenderAvStatus" Type="microsoft.graph.security.defenderAvStatus"/>
<Property Name="deviceDnsName" Type="Edm.String"/>
<Property Name="dnsDomain" Type="Edm.String"/>
<Property Name="firstSeenDateTime" Type="Edm.DateTimeOffset"/>
<Property Name="healthStatus" Type="microsoft.graph.security.deviceHealthStatus"/>
<Property Name="hostName" Type="Edm.String"/>
<Property Name="ipInterfaces" Type="Collection(Edm.String)"/>
<Property Name="lastExternalIpAddress" Type="Edm.String"/>
<Property Name="lastIpAddress" Type="Edm.String"/>
<Property Name="loggedOnUsers" Type="Collection(microsoft.graph.security.loggedOnUser)"/>
<Property Name="mdeDeviceId" Type="Edm.String"/>
<Property Name="ntDomain" Type="Edm.String"/>
<Property Name="onboardingStatus" Type="microsoft.graph.security.onboardingStatus"/>
<Property Name="osBuild" Type="Edm.Int64"/>
<Property Name="osPlatform" Type="Edm.String"/>
Expand Down Expand Up @@ -42107,6 +42225,24 @@
<Action Name="estimateStatistics" IsBound="true">
<Parameter Name="bindingParameter" Type="microsoft.graph.security.ediscoverySearch"/>
</Action>
<Action Name="exportReport" IsBound="true">
<Parameter Name="bindingParameter" Type="microsoft.graph.security.ediscoverySearch"/>
<Parameter Name="displayName" Type="Edm.String" Unicode="false"/>
<Parameter Name="description" Type="Edm.String" Unicode="false"/>
<Parameter Name="exportCriteria" Type="microsoft.graph.security.exportCriteria"/>
<Parameter Name="exportLocation" Type="microsoft.graph.security.exportLocation"/>
<Parameter Name="additionalOptions" Type="microsoft.graph.security.additionalOptions"/>
</Action>
<Action Name="exportResult" IsBound="true">
<Parameter Name="bindingParameter" Type="microsoft.graph.security.ediscoverySearch"/>
<Parameter Name="displayName" Type="Edm.String" Unicode="false"/>
<Parameter Name="description" Type="Edm.String" Unicode="false"/>
<Parameter Name="exportCriteria" Type="microsoft.graph.security.exportCriteria"/>
<Parameter Name="exportLocation" Type="microsoft.graph.security.exportLocation"/>
<Parameter Name="additionalOptions" Type="microsoft.graph.security.additionalOptions"/>
<Parameter Name="exportFormat" Type="microsoft.graph.security.exportFormat"/>
<Parameter Name="exportSingleItems" Type="Edm.Boolean"/>
</Action>
<Action Name="purgeData" IsBound="true">
<Parameter Name="bindingParameter" Type="microsoft.graph.security.ediscoverySearch"/>
<Parameter Name="purgeType" Type="microsoft.graph.security.purgeType">
Expand Down
Loading

0 comments on commit 3600a76

Please sign in to comment.