我如何在闪亮的应用程序中嵌入 Twitter 时间轴?
How can i embed a twitter timeline in a shiny app?
难以将 Twitter 时间轴嵌入到闪亮的应用程序中。
尝试遵循此代码
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){
}
)
)
但现在 Twitter 已经改变了他们制作小部件的方式,我不知道如何获取新的数据小部件 ID。对 HTML 或 JS 不是很熟悉,所以任何帮助将不胜感激!
希望嵌入“https://twitter.com/CityOfBoston”的时间线
编辑以包含 OP 关于重新格式化为带有选项卡的闪亮仪表板页面的评论。
我认为您不再需要 data-widget-id
。这会为我加载时间线。
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){
}
)
)
难以将 Twitter 时间轴嵌入到闪亮的应用程序中。
尝试遵循此代码
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){
}
)
)
但现在 Twitter 已经改变了他们制作小部件的方式,我不知道如何获取新的数据小部件 ID。对 HTML 或 JS 不是很熟悉,所以任何帮助将不胜感激!
希望嵌入“https://twitter.com/CityOfBoston”的时间线
编辑以包含 OP 关于重新格式化为带有选项卡的闪亮仪表板页面的评论。
我认为您不再需要 data-widget-id
。这会为我加载时间线。
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){
}
)
)