如何在命令行上创建要点

trb*_*bvm 7 gist github github-api

我正在尝试从bash创建要点,并且尝试了很多版本的脚本,但都没有用。

这似乎是正确的方法,但它也不起作用。

curl -X POST -d '{"public":true,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists
Run Code Online (Sandbox Code Playgroud)

我有一个test.txt包含要创建要点的内容的文件,但是它不起作用。它说,invalid email如果我尝试添加-u USER-u USER:PASS否则仍然无法正常工作"message": "Problems parsing JSON",..

我不知道怎么了 该文件并没有提供太多,除了这行:

POST /gists 如您所见,我正在传递test.txt文件。

Nic*_*nko 20

最近 GitHub CLI 发布。因此,您现在可以改用它。

只需将其安装到您的系统(https://github.com/cli/cli#installation

身份验证(非常简单)

gh auth login
Run Code Online (Sandbox Code Playgroud)

登录后,您只需通过以下方式创建新要点:

gh gist create -d "my test gist" -f some_local_file.txt  test_gist
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,您可以使用帮助:

gh <command> <subcommand> --help
Run Code Online (Sandbox Code Playgroud)


mga*_*aia 7

我刚试过

curl -X POST -d '{"public":true,"files":{"test.txt":{"content":"String file contents"}}}' -u mgarciaisaia:mypassword https://api.github.com/gists
Run Code Online (Sandbox Code Playgroud)

它起作用了:https : //gist.github.com/mgarciaisaia/fa51238073eb2cf508aa

您的命令没有任何问题。

  • 顺便说一句:我一直在尝试用变量替换`test.txt`和`String file..`,但是在单引号内,它不起作用。您知道如何在单引号内传递变量吗? (2认同)

Bru*_*uno 5

这个问题很旧,所以我不确定它是否仍然有用。

在Ubuntu上(至少在18.04上),您可以尝试使用该gist软件包,该软件包将安装gist-paste您可以使用的命令(假设您已经有一个git帐户),如下所示:

1)获取gist OAuth2令牌(它将使用该令牌创建〜/ .gist文件)。您只需要执行一次:

$ gist-paste --login
Run Code Online (Sandbox Code Playgroud)

然后,您可以发送文件,例如:

$ gist-paste your-file.txt
$ cat .emacs.d/init.el | gist-paste -t el
Run Code Online (Sandbox Code Playgroud)

有很多选项:您可以发送文件类型/描述(如以上第二个示例所示),删除要点,在浏览器中打开要点等,等等。请参阅gist-paste(1)或尝试gist-paste --help

如果你已经有一个要点令牌,你不需要跑gist-paste --login,只是你复制~/.gitconfigoauth-token~/.gist。例如,如果您有~/.gitconfig

[github]
    oauth-token = foobar123
Run Code Online (Sandbox Code Playgroud)

只需创建一个~/.gist包含“ foobar123”的行。

[编辑]如果您的发行版不提供软件包,则项目页面为:https : //github.com/defunkt/gist