【发布时间】:2016-01-18 16:08:20
【问题描述】:
我想获取我在 bitbucket 中创建的 R 脚本文件作为 sn-p。当我使用来自devtools 包的source_url 时,我需要传递我不知道在哪里可以找到的sha1 值。我尝试了RCurl 和httr 的一些函数,但无法获取脚本文件。谁能帮帮我吗?
【问题讨论】:
标签: r bitbucket rcurl devtools httr
我想获取我在 bitbucket 中创建的 R 脚本文件作为 sn-p。当我使用来自devtools 包的source_url 时,我需要传递我不知道在哪里可以找到的sha1 值。我尝试了RCurl 和httr 的一些函数,但无法获取脚本文件。谁能帮帮我吗?
【问题讨论】:
标签: r bitbucket rcurl devtools httr
您不需要传递 sha1 值。您可以只使用 原始文件的 url 获取 bitbucket 的 sn-ps(在 sn-p 中按下所需文件上的按钮 RAW,然后从地址栏中复制 url)。但是sn-p 应该是公开的,如果它是私有的,您就无法访问它。
例如,对于这个愚蠢的 sn-p:https://bitbucket.org/snippets/anpefi/q8g69
我将原始 kk.R 文件的 URL 设为 https://bitbucket.org/!api/2.0/snippets/anpefi/q8g69/4ca5ac49e4e3535dfdc85949ac20408aeed97567/files/kk.R
那么,
> x <- 0
> source_url("https://bitbucket.org/!api/2.0/snippets/anpefi/q8g69/4ca5ac49e4e3535dfdc85949ac20408aeed97567/files/kk.R")
SHA-1 hash of file is 9a56cd15e13986bc8699560759225ade199c17f7
> x
[1] 1 2 3 4 5 6 7 8 9 10
如果我将 sn-p 设置为私有,这不起作用。
[已编辑] 无论如何,如果您想要文件的 sha-1,下载它并使用 sha1sum(在 Linux 中)在本地获取 sha1。或者,您可以暂时将 sn-p 设置为 public,应用上述代码在输出中获取 sha1,然后再次将 sn-p 设为 private。
好的,再次编辑。我刚刚意识到,是的,您可以使用 sha1 获取私有 sn-p。
【讨论】:
source_url("URL_OF_YOUR_SNIPPET") 在输出中您将看到 sha1(就像我的答案中的示例一样)。然后您可以回到 bitbucket 并将您的 sn-p 的权限更改回私有(但不要更改文件,否则 sha1 会更改)。