如何通过 REST API 从 Rails APP 获取用于在 Power BI 中创建数据集的访问令牌
How to get access token for creating dataset in Power BI through REST API from Rails APP
目前我只有client_id和client_secret,创建数据集还需要什么参数
我终于明白了。首先,我们必须连接我们的 Azure AD 和 Power BI 应用程序。
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
为了成功,我不得不忘记我之前读过的所有内容……然后重新开始:
https://azure.microsoft.com/en-us/documentation/articles/power-bi-embedded-iframe/
在 Azure 门户网站上
创建 Power BI 工作区集合,并获取访问密钥(配置)
获取 PBIX
来自 Power BI Desktop 或示例文件
使用 CLI
(必须使用那个:https://github.com/Microsoft/PowerBI-Cli)
创建 Power BI 工作区
将 .pbix 文件导入工作区
获取报告 ID
在我的 RAILS 应用程序中
(使用 https://github.com/jwt/ruby-jwt )
将报告嵌入网页
我无法描述遇到的许多错误,或者 Azure 的 signup/login 问题......到达那里真的很痛苦。
大家干杯。
目前我只有client_id和client_secret,创建数据集还需要什么参数
我终于明白了。首先,我们必须连接我们的 Azure AD 和 Power BI 应用程序。
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
为了成功,我不得不忘记我之前读过的所有内容……然后重新开始: https://azure.microsoft.com/en-us/documentation/articles/power-bi-embedded-iframe/
在 Azure 门户网站上 创建 Power BI 工作区集合,并获取访问密钥(配置)
获取 PBIX 来自 Power BI Desktop 或示例文件
使用 CLI (必须使用那个:https://github.com/Microsoft/PowerBI-Cli) 创建 Power BI 工作区 将 .pbix 文件导入工作区 获取报告 ID
在我的 RAILS 应用程序中 (使用 https://github.com/jwt/ruby-jwt ) 将报告嵌入网页
我无法描述遇到的许多错误,或者 Azure 的 signup/login 问题......到达那里真的很痛苦。
大家干杯。