class PowerBiEmbedded::EmbedToken
Public Class Methods
new(access_token: nil, group_id: nil, resource: nil, resource_id: nil, tile_id: nil, dataset_id: nil, access_level: nil, identities: nil, allow_save_as: false)
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 4 def initialize(access_token: nil, group_id: nil, resource: nil, resource_id: nil, tile_id: nil, dataset_id: nil, access_level: nil, identities: nil, allow_save_as: false) @access_token = access_token @group_id = group_id @resource = resource @resource_id = resource_id @dataset_id = dataset_id @access_level = access_level @identities = identities @allow_save_as = allow_save_as end
Public Instance Methods
call()
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 16 def call url = send(@resource) if @resource.present? PowerBiEmbedded::Base.post(url, build_body, build_headers) end
Private Instance Methods
build_base_url()
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 49 def build_base_url "https://api.powerbi.com/v1.0/myorg/groups/#{@group_id}" end
build_body()
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 36 def build_body { accessLevel: @access_level, allowSaveAs: @allow_save_as, datasetId: @dataset_id, identities: @identities }.compact end
build_headers()
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 45 def build_headers { 'Authorization': "Bearer #{@access_token}" } end
dashboard()
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 28 def dashboard build_base_url + "/dashboards/#{@resource_id}/GenerateToken" end
report()
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 24 def report build_base_url + "/reports/#{@resource_id}/GenerateToken" end
tile()
click to toggle source
# File lib/power_bi_embedded/embed_token.rb, line 32 def tile build_base_url + "/dashboards/#{@resource_id}/tiles/#{@tile_id}/GenerateToken" end