Zur Zeit habe ich nur CLIENT_ID und client_secret, was andere Parameter Sie für die Erstellung von Ich brauche DatasetWie Zugriffstoken erhalten für Daten-Set in Power-BI durch REST API von Rails APP Schaffung
Antwort
ich das endlich. Zunächst müssen wir unsere Azure AD- und Power BI-Anwendung verbinden.
def index
update_token
if session['access_token']
redirect_to YOUR_ACTION
else
client = get_client
a = client.auth_code.authorize_url(:client_id => CLIENT_ID, :resource => RESOURCE_ID, :redirect_uri => REDIRECT_URI)
redirect_to(a)
end
end
def callback
begin
@code = params[:code]
client = get_client
token = client.auth_code.get_token(@code, :redirect_uri => REDIRECT_URI,)
session['access_token'] = token.token
if token.token.present?
YOUR_ACTION
end
end
end
def update_token
token = session['access_token']
refresh_token = session['refresh_token']
expire_at = session['expire_at']
@access_token = OAuth2::AccessToken.from_hash(get_client, { :access_token => token, :refresh_token => refresh_token, :expire_at => expire_at, :header_format => 'Bearer %s' })
if @access_token.expired?
@access_token = @access_token.refresh!;
session['access_token'] = @access_token.token
session['refresh_token'] = @access_token.refresh_token
session['expire_at'] = @access_token.expire_at
session['instance_url'] = @access_token.params['instance_url']
end
end
def get_client
client = OAuth2::Client.new(CLIENT_ID, CLIENT_SECRET, :site => AUTHORITY, :authorize_url => AUTHORIZE_URL, :token_url => TOKEN_URL)
client
end
def azure
callback
end
Vielen Dank für das Teilen! Ich benutze das gleiche Stück Code von einem Kern, den ich gefunden habe. Ich kämpfe hauptsächlich mit den Konstanten: RESOURCE_ID, REDIRECT_URI, AUTHORITY, AUTHORIZE_URL, TOKEN_URL. Ich weiß nicht, wo ich diese konfigurieren muss (Azure? PowerBI?) (Auch .. es gibt 2 CLIENT_ID und 2 CLIENT_SECRET ... eine von Powerbi und eine von Azure? Https://powerbi.microsoft.com/en-us/Dokumentation/powerbi-developer-authenticate-a-web-app /) –
Oh, ich habe eine Frage an Sie: Ist es möglich, die PowerBI-API aufzurufen und zu authentifizieren, ohne dass der Endbenutzer sich identifizieren muss? –
Sie benötigen nicht die Power BI client_ID und client_secret. Verwenden Sie dies (https://powerbi.microsoft.com/en-us/documentation/powerbi-admin-free-with-custom-azure-directory/). AUTHORITY - "https://login.windows.net" und verwende deine App-Endpunkte für AUTHORIZE_URL und TOKEN_URL. @fro_oo –
Um erfolgreich zu sein hatte ich alles vergaß ich vorher gelesen hatte ... und beginnen wieder mit diesem: https://azure.microsoft.com/en-us/documentation/articles/power-bi-embedded-iframe/
ON AZURE PORTAL Strom BI-Arbeitsbereich Sammlung erstellen und Zugriffsschlüssel erhalten (Provisioning)
GET A PBIX Von Power-BI-Desktop oder eine Beispieldatei
MIT eINEM CLI (verwenden müssen, dass ein: https://github.com/Microsoft/PowerBI-Cli) erstellen Power-BI-Arbeitsbereich Import .pbix Datei in den Arbeitsbereich Get Bericht id
IN MY RAILS APP (mit https://github.com/jwt/ruby-jwt) einbetten den Bericht in die Webseite
Ich kann nicht sagen über die vielen aufgetretenen Fehler oder die Anmelde-/Anmeldeprobleme mit Azure ... es war sehr schmerzhaft, dorthin zu gelangen.
Prost an alle.
Hey, wusstest du, wie wir eine Cron-Task für Power BI ausführen können? Wie in meinem aktuellen Code es umleiten zu Azure-Portal und erfordert Benutzername und Password, aber ich möchte es von Cron Rake-Task ausführen. @fro_oo –
Hi @t s, hast du es herausgefunden? Ich kämpfe auch damit. –
@fro_oo Überprüfen Sie meine Antwort hoffe, es wird helfen –