Crie uma nova essência com a API do Github v3 usando curl
Depois de lutar por algum tempo para postar uma essência privada para o Github usando sua API V3, eu quase desisti. Quase. Pode ser que alguém tenha também enfrentado problemas semelhantes ou saiba qual pode ser o raciocínio do seguinte comportamento:
No momento, o comando curl parece com o seguinte:
<code>curl -H "Authorization: bearer MY_AUTHORIZATION_TOKE" -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"public":false,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists </code>
Eu também tentei
<code>curl -H "Authorization: bearer MY_AUTHORIZATION_TOKE" -X POST -d '{"public":false,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists </code>
Eu sou capaz de criar gist sem token de autorização usando exatamente os mesmos dados:
<code>curl -X POST -d '{"public":true,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists </code>
Mas nesse caso será anônimo
Mesmos resultados se eu estou tentando publicá-lo como público
Em qualquer caso, Github me retorna
<code>HTTP/1.1 404 Not Found { "message": "Not Found" } </code>
Tenho certeza de que estou autorizado, comocurl -H "Authorization: bearer MY_AUTHORIZATION_TOKE" https://api.github.com/user
me retorna meus detalhes do usuário.
O escopo da aplicação é como:
https://github.com/login/oauth/authorize?client_id=...&scope=gist
Portanto, deve ter permissão de leitura e gravação.