I was try to get the info of a service principle.
Error:
Resource 'xxx' does not exist or one of its queried reference-property objects are not present
Doc I followed: https://learn.microsoft.com/en-us/graph/api/serviceprincipal-get?view=graph-rest-1.0&tabs=python
The following is the code:
import pprint
from azure.identity import AzureAuthorityHosts
from azure.identity.aio import ClientSecretCredential
from kiota_authentication_azure.azure_identity_authentication_provider import AzureIdentityAuthenticationProvider
from msgraph import GraphServiceClient, GraphRequestAdapter
from msgraph.generated.models.password_profile import PasswordProfile
from msgraph.generated.models.user import User
from msgraph.generated.users.item.user_item_request_builder import UserItemRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
tenant_id = ""
client_id = ""
client_secret = ""
credential = ClientSecretCredential(
tenant_id=tenant_id,
client_id=client_id,
client_secret=client_secret,
authority=AzureAuthorityHosts.AZURE_CHINA
)
scopes = ['https://microsoftgraph.chinacloudapi.cn/.default']
auth_provider = AzureIdentityAuthenticationProvider(credential, scopes=scopes)
request_adapter = GraphRequestAdapter(auth_provider)
request_adapter.base_url = "https://microsoftgraph.chinacloudapi.cn/v1.0/"
graph_client = GraphServiceClient(request_adapter=request_adapter)
query_params = UserItemRequestBuilder.UserItemRequestBuilderGetQueryParameters(
# select = ["displayName","givenName","postalCode","identities"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
async def get_user():
#result = await graph_client.users.by_user_id('').owned_objects.get()
result = await graph_client.service_principals.by_service_principal_id('').get()
print(result)
#pprint.pprint(result)
import asyncio
asyncio.run(get_user())