4

Github v3 APIを使用しようとしています-必要なOAuthフローをすでに実装しており、正常に機能します。

現在、いくつかのRepos APIエンドポイント(http://developer.github.com/v3/repos/)を試しています。

これまでのところ、GET / user / reposを使用してリポジトリのリストを取得できますが、POST / user / reposを使用してリポジトリを作成しようとすると、404が取得されます。

私が間違っているかもしれないことについて何か考えはありますか?

ジュベール

4

4 に答える 4

8

HTTP リクエストをどのように正確に行ったか教えていただけますか? 404 は、おそらく間違ったパスを使用していたようです。しかし、推測ではなく信頼できる回答を提供するには、トークンの送信方法を含め、「xxx」などでマスクするだけで、リクエストを確認する必要があります。

それまでの間、機能しているリクエストの例を示します。

curl -XPOST -H 'Authorization: token S3CR3T' https://api.github.com/user/repos -d '{"name":"my-new-repo","description":"my new repo description"}'

もちろん、OAuth トークンを置き換える必要があります。S3CR3T

于 2011-10-24T03:59:09.633 に答える
7

同じ問題がありました。oauth アクセス トークンで 404 を取得する理由は、github を承認するときに、必要なスコープも追加で渡す必要があるためです。たとえば、ヘッダーに「X-OAuth-Scopes: repo, user」と表示されているはずです。これは、このユーザーが自分のプロファイルとリポジトリへの読み取り/書き込みアクセス権を持っていることを意味します。正しいスコープを設定したら、POST/PUT リクエストを問題なく実行できるはずです。

適切な権限があるかどうかを確認するには。次のようなことができます。XXXXXXX をアクセス トークンに置き換えます。

curl -I https://api.github.com/user?access_token=XXXXXXXX
于 2011-10-26T03:57:40.860 に答える
1

このスクリプトを使用すると、トークンとプロジェクト名を変数として読み込むことができるため、スクリプトで使用できます

#!/usr/bin/env bash -u
#

TOKEN=`cat token_file`
PROJECT=myproject

curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d '{"name": "'"$PROJECT"'"}' https://api.github.com/user/repos?access_token=$TOKEN
于 2012-10-08T11:22:29.013 に答える