ユーザーはgithubアカウントを使用してサインアップし、すべての個人リポジトリと公開リポジトリを表示できます。私はgithubからトークンを取得してリポジトリ(公開と非公開の両方)を取得することができますが、唯一の問題はすべてのリポジトリが返されていないことです(リポジトリが取得されないなど)。github APIですべてのリポジトリを取得することができません
私はサーバ側の実装にgolangを使用しています。 thisメソッドを使用してリポジトリを取得します。
ユーザーはgithubアカウントを使用してサインアップし、すべての個人リポジトリと公開リポジトリを表示できます。私はgithubからトークンを取得してリポジトリ(公開と非公開の両方)を取得することができますが、唯一の問題はすべてのリポジトリが返されていないことです(リポジトリが取得されないなど)。github APIですべてのリポジトリを取得することができません
私はサーバ側の実装にgolangを使用しています。 thisメソッドを使用してリポジトリを取得します。
デフォルトでは、ListOptions
引数を受け入れるすべてのコマンドにはPerPage
属性があります。すべてのデータを取得するには、得られる結果がPerPage
未満になるまで、Page
属性を使用してページを反復処理する必要があります。ゴーっぽい擬似コードで
、それは次のようになりたい:
totalResults := []Result{}
for page := 0; ; page++ {
results := fetch current page
totalResults = append(totalResults, results)
if len(results) < per page {
break
}
}
あなたはListOptions
構造体がhereを定義した見ることができます。
すべてのreposを取得するためにrobbritが指摘したように、デフォルトでは30個のreposが返されるため、PerPageオプションを使用する必要があります。それが私の問題を解決しました。
あなたがリンクしている方法(ユーザーリストのリスト)についてのコメントは、「指定したユーザーのリスト**公開**リポジトリ」(私の強調)です。したがって、「一部のリポジトリは取得されません」というのはおそらくそれらが公開されていないからです。 – ain
こんにちは、リンクを更新しました。 "(* RepositoriesService).List(ユーザー文字列、opt * RepositoryListOptions)([リポジトリ、*レスポンス、エラー)"メソッドを使用してreposを取得しています。 –
また、私は私用のreposを得ることができることに注意してください、唯一の問題は、完全なリストを返していないということです。 –