2017-10-02 6 views
0

ExcelTransform(FKA PowerQuery)のExcel 2016でREST APIにクエリを実行していて、パラメータでExcelのシートからAPIキーを解析したいとします。Powerqueryヘッダーのシートからパラメータを渡します

ヘッダーの一部としてクエリのAPIキーをハードコードすると、すべて正常に動作しますが、シートからインポートしてインポートされた値をクエリで使用しようとすると、認証に失敗します。

これが行う作業:これも動作します

let 
     Source = Json.Document(Web.Contents("https://app.url.io/api/", [Headers=[Authorization="Basic APIKEY"]])) 
in 
     Source 

let 
    API_key = "APIKEY", 
    Source = Json.Document(Web.Contents("app.url.io/api/", [Headers=[Authorization="Basic "&API_key]])) 
in 
    Source 

そして、これは動作しません。

let 
    //API key from parameter table 
    API = Excel.CurrentWorkbook(){[Name="API_key"]}[Content], 
    API_key = API{0}[Column1], 
    // 
    Source = Json.Document(Web.Contents("https://app.url.io/api/", [Headers=[Authorization="Basic "&API_key]])) 
in 
    Source 

任意のアイデアをここにうまくいかないものに?

+0

APITokenクエリパラメータhttps://blog.crossjoin.co.uk/2014/03/26/working-with-web-services-in-powerを使用して認証を処理する場合は、 -query/ – QHarr

+0

ええ、チップのおかげで。残念ながら、APITokenメソッドはこのAPIでは動作しません。キーはヘッダーを介して解析する必要があります。 – kirvis

+0

最後のクエリでは何が表示されますか? API {0} [Column1]はどのような価値ですか?また、なぜ資格情報ダイアログでAPIキーを追加するのではなく、ワークシートのAPIキーを使用したいのですか?ワークブックを共有する場合、またはワークブックがリークした場合は、APIキーが公開されます。 –

答えて

0

掘り下げた後、私はより良い解決策を見つけました。私は現在、基本認証での資格情報ダイアログを使用しています。APIキーはユーザー名と空白のパスワードです。これは、APIキーがシートにもう格納されず、クエリに格納されないため安全です。

ありがとうございます!

関連する問題