Χρήση του Power BI SDK με προφίλ κύριας υπηρεσίας
Αυτό το άρθρο εξηγεί πώς μπορείτε να χρησιμοποιήσετε το SDK με προφίλ κύριας υπηρεσίας. Υπάρχουν δύο τρόποι για να συνδέσετε ένα πρόγραμμα-πελάτη Power BI σε ένα προφίλ κύριας υπηρεσίας. Μπορείτε να κάνετε τα εξής:
- Δημιουργία προγράμματος-πελάτη με αναγνωριστικό αντικειμένου προφίλ
- Καθορισμός του αναγνωριστικού προφίλ στην κλήση αίτησης API
Όταν το πρόγραμμα-πελάτης συσχετιστεί με ένα προφίλ, μπορείτε να λάβετε το τρέχον προφίλ κύριας υπηρεσίας από το πρόγραμμα-πελάτη του Power BI.
Δημιουργία προγράμματος-πελάτη Power BI με προφίλ κύριας υπηρεσίας
var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26");
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);
Όταν δημιουργείτε ένα πρόγραμμα-πελάτη Power BI με το αναγνωριστικό αντικειμένου προφίλ, κάθε κλήση API που χρησιμοποιεί το πρόγραμμα-πελάτη έχει το X-PowerBI-profile-id
στην κεφαλίδα αίτησης.
Για παράδειγμα:
GET https://powerbiapi.analysis-df.windows.net/v1.0/myorg/groups
Authorization: Bearer eyJ0eXAiO.....5U_g
X-PowerBI-profile-id: 81f24a6d-7ebb-4478-99c7-2c36f7870a26
Ορισμός προφίλ στην κλήση αίτησης API
Εναλλακτικά, μπορείτε να καθορίσετε το αναγνωριστικό προφίλ στην αίτηση API, χρησιμοποιώντας την customHeaders
ιδιότητα στη μέθοδο WithHttpMessagesAsync
PowerBIClient του API που έχει υπερφορτωθεί.
var powerBIclient = new PowerBIClient(credentials);
var profileHeader = new Dictionary<string, List<string>>();
profileHeader.Add("X-PowerBI-profile-id", new List<string> { "81f24a6d-7ebb-4478-99c7-2c36f7870a26" });
var groups = await powerBIclient.Groups.GetGroupsWithHttpMessagesAsync(customHeaders: profileHeader);
Για παράδειγμα,
GET https://powerbiapi.analysis-df.windows.net/v1.0/myorg/groups
Authorization: Bearer eyJ0eXAiO.....5U_g
X-PowerBI-profile-id: 81f24a6d-7ebb-4478-99c7-2c36f7870a26
Στο προηγούμενο δείγμα κώδικα, η κεφαλίδα προφίλ δεν είναι μέρος των προεπιλεγμένων κεφαλίδων προγράμματος-πελάτη, επειδή ο κώδικας δεν προσθέτει την κεφαλίδα προφίλ. Πρέπει να καθορίσετε την κεφαλίδα προφίλ με κάθε αίτηση API.
Βεβαιωθείτε ότι αποφεύγετε τις διπλότυπες. Για παράδειγμα, η δημιουργία ενός προγράμματος-πελάτη με ένα αναγνωριστικό αντικειμένου προφίλ και, στη συνέχεια, ο καθορισμός της κεφαλίδας με την αίτηση API έχει ως αποτέλεσμα μη εξουσιοδοτημένα σφάλματα.
Λήψη του τρέχοντος προφίλ κύριας υπηρεσίας από το πρόγραμμα-πελάτη Του Power BI
Για να ανακτήσετε το τρέχον προφίλ κύριας υπηρεσίας από το πρόγραμμα-πελάτη SDK, καλέστε GetServicePrincipalProfileObjectId
τη .
var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26");
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);
var currentProfileObjectId = powerBIclient.GetServicePrincipalProfileObjectId();
Ζητήματα προς εξέταση και περιορισμοί
Δεν υπάρχει υποστήριξη για προφίλ κύριας υπηρεσίας με Υπηρεσίες Ανάλυσης του Azure (AAS) σε λειτουργία δυναμικής σύνδεσης.