2015-09-12 2 views
2

Я потратил время на запрос силы excel за последние два дня, но не понял, как получить facebook userid, если у меня есть имя пользователя.facebook userid от имени пользователя в excel power query

Например, если у меня есть имя пользователя Zuck ИЛИ профиль URL-адрес https://www.facebook.com/zuck

с использованием любого из указанных выше, можно найти UID (facebook числового идентификатора). В этом примере идентификатор равен 4

Что-то похожее на то, что делает http://findmyfbid.com, я хочу выяснить, возможно ли это с помощью запроса мощности excel.

Благодаря

ответ

2

Глядя вокруг разъема питания запроса Facebook и ссылки API Facebook Graph Я не могу найти какой-либо очевидный способ, чтобы искать идентификатор пользователя от имени пользователя.

http://findmyfbid.com/failure указывает, что поисковая система должна индексировать общедоступные имена пользователей, чтобы найти идентификатор. Вы можете открыть страницу, например https://www.facebook.com/Code.org/, в своем браузере и пропустить HTML-код и найти имя пользователя самостоятельно, при условии, что страница остается общедоступной.

С другой стороны, findmyfbid.com уже решил эту проблему. Вот как запрос на их веб-сайт непосредственно с помощью пользовательской функции питания Query 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

Спасибо за ссылки и помощь. Я обязательно попробую ваше решение. Тем не менее, я специально искал функциональность в excel power query. Я все еще не нахожу ничего, и я думаю, что его сложно сделать с помощью запроса мощности. Infact Я хотел запустить макрос в этом решении. Еще раз спасибо – Sabha

+0

Я согласен с тем, что с Power Query сложно (но возможно), но похоже, что это будет так же сложно с * любым * веб-клиентом. Пользователь Power Query можно использовать как своего рода макрос в электронных таблицах Excel (это, кажется, хорошее руководство: http://datachix.com/2014/05/22/power-query-functions-some-scenarios/) или оно должен работать, чтобы перевести эту логику в настоящий макрос VBA. –

+0

Спасибо за руководство. Я буду продолжать пытаться. – Sabha

Смежные вопросы