Ich habe ein Problem mit dem Einbetten von Token. Ich habe alle 5 Schritte gemacht, die in diesem Link beschrieben werden (5 steps to push data into a dataset) und alles funktioniert perfekt: Datensätze erstellt, Tabellen erstellt und mit Daten ohne Probleme ausgefüllt.Generiere Einbettungstoken zum Erstellen des Problems
Ich habe eine Aufgabe zum Einbetten von Datensätzen (keine Berichte) auf der Webseite. Ich habe diese Seite gefunden (Power BI Embeded Sample), die zeigt, wie embed Bericht/Dataset/Dashboard/Kachel aussehen wird. Und auf dieser Seite gibt es ein Embed-Token. Ich googelte ein wenig und fand diese Seite (Generate Embed Token Example), die das Aussehen OH HTTP POST Anfragen beschreibt. Ich habe den Teil für Datensätze gemacht. Hier ist mein Code Beispiel:
private static void generateEmbedToken()
{
// TokenCredentials Initializes a new instance of the
// Microsoft.Rest.TokenCredentials class with
// the given 'Bearer' token.
var credentials = new TokenCredentials(token);
// Initialize PowerBIClient with credentials
var powerBIclient = new Microsoft.PowerBI.Api.V2.PowerBIClient(credentials)
{
// BaseUri is the api endpoint, default is https://api.powerbi.com
BaseUri = new Uri("https://api.powerbi.com")
};
try
{
// Create body where accessLevel = View, datasetId = "" by default
var requestParameters = new GenerateTokenRequest(TokenAccessLevel.Create, datasetId, true);
// Generate EmbedToken This function sends the POST message
//with all parameters and returns the token
EmbedToken token = powerBIclient.Reports.GenerateTokenForCreate(requestParameters);
embedToken = token.Token;
}
catch (Exception exc)
{
Console.WriteLine(exc.ToString());
}
}
und ich als nächstes eine Fehlermeldung anzeigt:
Microsoft.Rest.HttpOperationException: Operation returned an invalid status code 'NotFound'
at Microsoft.PowerBI.Api.V2.Reports.<GenerateTokenForCreateWithHttpMessagesAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Api.V2.ReportsExtensions.<GenerateTokenForCreateAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Api.V2.ReportsExtensions.GenerateTokenForCreate(IReports operations, GenerateTokenRequest requestParameters)
at PushDataApp.Program.generateEmbedToken() in C:\Users\PC\Documents\Visual Studio 2017\Projects\PushDataApp\PushDataApp\Program.cs:line 388
hier ist Zeile 388:
EmbedToken token = powerBIclient.Reports.GenerateTokenForCreate(requestParameters);
Ich weiß nicht, warum es passiert. Ich nahm diesen Code von hier (Generate Embed Token Example), aber ich habe einige Änderungen für meine Zwecke (weil ich Datensatz brauche und nicht melden).
Ich werde jede Hilfe zu schätzen wissen.