5

現在、GitHub API (v3) を使用して、認証されたユーザーがレポにスターを付けているかどうかを確認しようとしています。ログインしたユーザーがスターを付けたレポを正常にリストできますが、ユーザーがレポにスターを付けているかどうかを確認するときに、それを機能させることができないようです。

例えば..

(GET) /user/starred?access_token=... スターを付けたリポジトリの完全なリストを正しく返します。

(GET) /user/starred/joynet/node?access_token=... は、使用する所有者とレポの組み合わせに関係なく、または実際にそのレポにスターを付けているかどうかに関係なく、常にステータス 404 を返します。

また、(GET) /user/starred 以外の /user/starred には何もアクセスできないように見えることにも注意してください。/user/starred/:owner/:repo への PUT、DELETE、または POST へのリクエストは、何をしても 404 を返します。

この API をどのように使用すればよいか考えていますか? ドキュメントを読みましたが、これは正しくやっていると思いますが、うまくいかないようです。

4

2 に答える 2

6

この問題を解決できました。問題は、ドキュメントをざっと読んだところ、承認中にスターを変更できるようにするためにレポスコープを要求する必要があることがわかりませんでした:)単に「レポ」スコープを追加するだけで問題が解決しました!

GitHub はここでスコープについて簡単に言及しています: http://developer.github.com/v3/oauth/しかし、スターリングには「レポ」スコープが必要であるとはどこにも言及されていません。

于 2012-12-09T18:44:12.273 に答える
1

API を正しく使用しています。ドキュメントによると、リポジトリにスターを付けていない場合 (またはリポジトリまたはユーザー、またはその両方が存在しない場合) は 404 ステータスを取得し、それ以外の場合は 204 を取得します。ユーザー名joyentのつづりを間違えました。

したがって、認証されたユーザーがノード リポジトリにスターを付けたかどうかを確認するには、次のようにします。

GET /user/starred/joyent/node

ノード リポジトリにスターを付けるには:

PUT /user/starred/joyent/node

ノード リポジトリのスターを外すには、次のようにします。

DELETE /user/starred/joyent/node

また、存在しない所有者またはリポジトリを使用して /user/starred/:owner/:repo に PUT または DELETE リクエストを送信しようとすると、404 ステータスが返されます。したがって、ユーザー名のつづりが間違っているために、これらすべての 404 ステータスを取得していた可能性があります。

于 2012-12-09T13:50:39.320 に答える