GET API 调用以在 R 中提取 PDF
GET API calls to pull PDF in R
此代码在 2021 年之前都运行良好。很长一段时间后 运行 这用于其他一些项目。校准成功,状态为 200,但不确定保存的 pdf 或 png 文件无法打开的原因。我在尝试打开 pdf 文件时遇到的错误是“Adobe Acrobat 无法打开 'test.pdf',因为它不是受支持的文件类型或文件已损坏(例如,它作为电子邮件附件发送并且没有正确解码)。"
httr::GET(
url ="https://public.tableau.com/app/profile/joti.gautam/viz/Book3_16512272064090/Dashboard.pdf",
httr::write_disk(here::here("test.pdf"),overwrite = T),
httr::progress()
)
您收到了 200,因为请求成功 returns html。它不会 link 直接生成 pdf。在开发人员工具中稍微窥探一下就会发现实际 pdf 的正确 url:
url <- paste0("https://public.tableau.com/views/Book3_16512272064090/",
"Dashboard.pdf?%3Adisplay_static_image=y&%3AbootstrapWhenNotified=",
"true&%3Aembed=true&%3Alanguage=en-US&:embed=y&:showVizHome=n",
"&:apiID=host1#navType=0&navSrc=Parse")
httr::GET(url,
httr::write_disk(here::here("test.pdf"),overwrite = T),
httr::progress()
)
test.pdf
此代码在 2021 年之前都运行良好。很长一段时间后 运行 这用于其他一些项目。校准成功,状态为 200,但不确定保存的 pdf 或 png 文件无法打开的原因。我在尝试打开 pdf 文件时遇到的错误是“Adobe Acrobat 无法打开 'test.pdf',因为它不是受支持的文件类型或文件已损坏(例如,它作为电子邮件附件发送并且没有正确解码)。"
httr::GET(
url ="https://public.tableau.com/app/profile/joti.gautam/viz/Book3_16512272064090/Dashboard.pdf",
httr::write_disk(here::here("test.pdf"),overwrite = T),
httr::progress()
)
您收到了 200,因为请求成功 returns html。它不会 link 直接生成 pdf。在开发人员工具中稍微窥探一下就会发现实际 pdf 的正确 url:
url <- paste0("https://public.tableau.com/views/Book3_16512272064090/",
"Dashboard.pdf?%3Adisplay_static_image=y&%3AbootstrapWhenNotified=",
"true&%3Aembed=true&%3Alanguage=en-US&:embed=y&:showVizHome=n",
"&:apiID=host1#navType=0&navSrc=Parse")
httr::GET(url,
httr::write_disk(here::here("test.pdf"),overwrite = T),
httr::progress()
)
test.pdf