2017-07-22 1 views
3

Avoir de la difficulté à intégrer une ligne de temps sur Twitter dans une application brillante.Comment puis-je intégrer une ligne de temps twitter dans une application brillante?

essayé de suivre ce code

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(
     a("Soccer", class="twitter-timeline" 
     , href = "https://twitter.com/pssGuy/timelines/524678699061641216" 
     , "data-widget-id" = "524686407298596864") 
    ) 
) 
) 
, server = function(input, output, session){ 

} 
) 
) 

mais maintenant que Twitter a changé la façon dont ils produisent des widgets je ne peux pas comprendre comment obtenir w nouvel identifiant widget de données. Pas très familier avec HTML ou JS donc toute aide serait appréciée!

dans l'espoir d'intégrer la chronologie de « https://twitter.com/CityOfBoston »

Répondre

2

modifié pour inclure des commentaires OP sur reformatage comme une page de tableau de bord brillant avec des onglets. Je ne pense pas que vous ayez besoin du data-widget-id plus. Cela charge le calendrier pour moi.

library(shiny) 
runApp(list(ui = dashboardPage(header=dashboardHeader(titleWidth=150, 
           title = "Title"), 
         sidebar=dashboardSidebar(width=150, 
           sidebarMenu(
             menuItem("Twitter Timeline", tabName="twittertimeline", icon=icon("globe")), 
             menuItem("Empty Tab", tabName = "empty", icon=icon("info-circle")) 
           ) 
         ), 
         body=dashboardBody(
           tabItems(
             tabItem(tabName="twittertimeline", 
               fluidRow(column(width=12, 
         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");')), 
         column(width=6, box(width=NULL, height=NULL, 
             a("Tweets by @CityOfBoston", class="twitter-timeline" 
               , href = "https://twitter.com/CityOfBoston" 
             ) 
           ) 
         ) 
       ))), 
tabItem(tabName="empty", 
     fluidRow(column(width=12, 
         box(width=NULL,height=NULL) 
         ))) 

))) 
       , server = function(input, output, session){ 

       } 
     ) 
) 
+0

question, cela fonctionne seul, mais im ayant question la faire fonctionner dans un onglet de tableau de bord brillant, lors de l'utilisation dashboardPage() au lieu de fluidPage() je reçois l'erreur _ERROR dans tagAssert (en-tête, type = « tête » , class = "main-header"): La balise attendue doit être de type header_ –

+0

Le code ci-dessus doit être mis à jour pour refléter le reformatage dans une page de tableau de bord brillant. – Tiffany