2015-09-12 45 views

回答

2

環顧電源查詢Facebook的連接器和Facebook的圖形API參考我找不到任何明顯的方法,從用戶名查找用戶ID。

http://findmyfbid.com/failure表示搜索引擎必須對公共用戶名進行索引才能找到該id。您可以在瀏覽器中打開https://www.facebook.com/Code.org/這樣的頁面,然後通過HTML查找並自行查找用戶名,假設頁面仍然是公開的。

另一方面,findmyfbid.com已經解決了這個問題。以下是如何對他們的網站直接查詢使用自定義電源查詢功能FindId

let 
    // Assume you've already URL-encoded the id 
    FindId = (id as text) as text => 
     let 
      Source = Web.Contents("http://findmyfbid.com/", [ 
       Content = Text.ToBinary("url=" & id), 
       Headers = [#"Content-Type"= "application/x-www-form-urlencoded"] 
      ]), 

      // Web.Page can't POST directly, so force Web.Contents to execute the POST 
      WebPage = Web.Page(Binary.Buffer(Source)), 

      // Hopefully findmyfbid.com doesn't change their HTML layout 
      DrillDown = WebPage[Data]{0} 
      {[Name="HTML"]}[Children] 
      {[Name="BODY"]}[Children] 
      {[Name="DIV"]}[Children] 
      {[Name="DIV"]}[Children] 
      {[Name="CODE"]}[Children] 
      {[Kind="Text"]}[Text] 
     in 
      DrillDown, 
    ExampleCodeOrg = FindId("code.org") 
in 
    ExampleCodeOrg 

而且你發現Code.org有309754825787494.

+0

感謝您的參考和幫助的ID。我一定會嘗試你的解決方案。但是,我特意在Excel電源查詢中尋找功能。我仍然沒有找到任何東西,我猜它很難用電源查詢來完成。事實上,我想在該解決方案上運行一個宏。再次感謝 – Sabha

+0

我同意使用Power Query很困難(但可能),但它似乎對任何* web客戶端來說都很難。使用Power Query作爲Excel電子表格中的一種宏可能是有可能的(這似乎是一個很好的指導:http://datachix.com/2014/05/22/power-query-functions-some-scenarios/)或者它應該努力將這個邏輯轉化爲一個真正的VBA宏。 –

+0

感謝您的指導。我會繼續努力。 – Sabha