2017-12-26 9 views
0

나는 웹과 그 모든 것들에 완전히 새내기입니다. 님이 Shiny 앱의 사용자 입력으로부터 특정 트윗을 표시하고 싶습니다. 여기이 게시물에서 내 시도입니다 : How can i embed a twitter timeline in a shiny app?. 나는이 트윗을 표시하기 위해 노력하고있어 : https://twitter.com/AndrewYNg/status/894994683931148288R 반짝 이는 응용 프로그램에서 특정 트위트를 임베디드

library(shiny) 
runApp(list(ui = fluidPage(
    tags$head("<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s) [0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');</script>"), 
    titlePanel(""), 
    sidebarLayout(
    sidebarPanel() 
    , mainPanel(
     a("Tweets by Andrew Ng", class="twitter-tweet" 
     , href = "https://twitter.com/AndrewYNg/status/894994683931148288" 
    ) 
    ) 
) 
) 
, server = function(input, output, session){ 

} 
) 
) 

그것은 트윗하지만 트윗에 대한 링크를 표시하지 않습니다. 나는 태그 $ head가 좋은 것을 포함하지 않는다고 생각하지만 그것이 무엇이되어야 하는지를 알 수 없다.

+1

트윗은 타임 라인과 다르게 임베드됩니다. 마크 업이 올바른지 확인하십시오 - https://dev.twitter.com/web/embedded-tweets –

답변

2
  1. shiny::HTML()에 스크립트를 래핑하여 내용이 HTML 이스케이프 처리되지 않도록합니다. 귀하의 예에서는 <script>&lt;script&gt;으로 이스 케이 핑됩니다. 또는 더 나은, 트윗을 포함하고 마크 업이 올바른지 확인하는 방법을 알기 위해 트위터 문서 shiny::tags$script()

  2. 확인을 사용 https://dev.twitter.com/web/embedded-tweets

library(shiny) 

runApp(list(
    ui = fluidPage(
    tags$head(
     tags$script("!function(d,s,id){var js,fjs=d.getElementsByTagName(s) [0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');") 
    ), 
    titlePanel(""), 
    sidebarLayout(
     sidebarPanel(), 
     mainPanel(
     HTML(' 
     <blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"> 
      Want to break into AI? You can learn Deep Learning from new deeplearning.ai courses on Coursera: 
      <a href="https://www.coursera.org/specializations/deep-learning">https://www.coursera.org/specializations/deep-learning</a></p>&mdash; Andrew Ng (@AndrewYNg) 
      <a href="https://twitter.com/AndrewYNg/status/894994683931148288?ref_src=twsrc%5Etfw">August 8, 2017</a> 
     </blockquote> 
     ') 
    ) 
    ) 
), 
    server = function(input, output, session) {} 
)) 

내가 트윗 원시 HTML을 사용, HTML 태그 객체로 변환 할 수 있습니다.

+0

와우 감사합니다. 현상금은 13 시간 안에 받아야합니다. 그게 아니라면 말해봐. 이 현상금 물건이 어떻게 작동하는지 모르겠다! –