2012-12-08 6 views
5

GitHub API(v3)を使用して認証済みユーザによってレポがスター付けされているかどうかを現在確認しようとしています。私は正常にログオンユーザーが主演レポをリストすることができますが、私はそれが動作するようにレポがユーザーによって主演されているかどうかを確認することはできません。例えばレポがGitHub APIでスター付けされているかどうかをチェック

..

/ユーザー/主演(GET)?access_tokenは= ...は正しく、私が主演しているレポの完全なリストを返します。

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

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

どのように私はこのAPIを使用するはずですか?私はドキュメントを読みましたが、これは私が正しくやっていると信じていますが、私はそれを動作させるように見えません。

答えて

5

この問題を解決できました。問題は私がドキュメンテーションをスキミングして、星を修正できるようにするために、承認中にリポジトリスコープを要求しなければならないことを見ていなかったことです。単に「レポ」スコープを追加するだけで問題は解決しました!

GitHubはここでそのスコープを簡潔に述べています:http://developer.github.com/v3/oauth/ただし、「repo」スコープが必要な箇所はどこに記載されていますか。

1

あなたはAPI権限を使用しています。 the documentationによれば、リポジトリに星印を付けていない(またはリポジトリまたはユーザ、またはその両方が存在しない)場合は、404ステータスを取得します。そうでなければ、204を取得します。ユーザー名joyentのスペルが間違っています。だから、

、認証されたユーザがノードリポジトリを主演かどうかを確認するには:

GET /user/starred/joyent/node 

ノードレポスターを付けるには:

PUT /user/starred/joyent/node 

を、ノードレポスターを外すために:

DELETE /user/starred/joyent/node 

また、PUTまたはDELETE要求を/ user/starred /:owner /:repoに作成しようとすると、存在しない場合は、404ステータスを取得します。だから、ユーザ名のスペルミスのために、これらの404ステータスをすべて取得している可能性があります。

+0

お返事ありがとうございます。私は私のサンプルでjoynetのスペルを間違えていることを知っていますが、それは404のANYリクエスト(私は10の異なるreposを試しました)を返します。私は私の特定の問題を解決することができた(私の答えを参照してください) –

関連する問題