2013-06-06 31 views
18

Tôi đang cố gắng lấy danh sách tất cả các kho lưu trữ của một tổ chức, bao gồm cả kho lưu trữ riêng tư. (Hoặc cụ thể hơn, tất cả các kho riêng một người dùng nhất định có quyền truy cập vào.)Cách liệt kê kho lưu trữ riêng của tổ chức thông qua API GitHub?

Reqesting thông tin cho các tổ chức (https://api.github.com/orgs/acme?access_token=[...]) cho thấy rằng có thực sự rất nhiều kho riêng:

... 
"public_repos": 5, 
"total_private_repos": 68, 
"owned_private_repos": 68, 
... 

(các thẻ truy cập tôi đang sử dụng trước đây đã được generated using the API cho username/passwd.)

Nhưng bất cứ điều gì tôi cố gắng liệt kê Repos ...

https://api.github.com/orgs/acme/repos&access_token=[...] 

... GitHub API chỉ trả về 5 kho lưu trữ công khai. (Documentation saystype=all là mặc định. Ngoài ra, hãy thử thêm tham số type=private; không có sự khác biệt.)

Bất kỳ ý tưởng nào tôi đang làm sai?

Người dùng mà mã thông báo truy cập đã được tạo trên thực tế có Push & Kéo quyền truy cập vào một số kho lưu trữ riêng của tổ chức, nhưng không ai trong số đó xuất hiện trong danh sách tôi nhận được (chỉ 5 kho lưu trữ công khai).

+2

Mọi thứ bạn đang làm đều ổn với tôi. Có thể là một ý kiến ​​hay khi liên hệ với bộ phận hỗ trợ GitHub: [email protected] Một điều mặc dù - bạn đã xác định phạm vi nào khi tạo mã thông báo OAuth? –

+0

@IvanZuzak: Ah, tôi đã không nhận thấy bạn chỉ định phạm vi khi tạo mã thông báo ... Tôi đã sử dụng [tập lệnh mẫu Python] (http://agrimmsreality.blogspot.co.uk/2012/05/sampling-github -api-v3-in-python.html) trong đó phạm vi 'public_repo' được sử dụng. Vì vậy, bằng cách tạo ra một mã thông báo mới với 'repo' phạm vi tôi đã nhận nó làm việc. Cảm ơn! Bạn có thể thêm nó như một câu trả lời nữa không, vì vậy tôi có thể chấp nhận nó? – Jonik

+0

Tuyệt, tôi rất vui vì đã giải quyết vấn đề cho bạn. Đã viết một câu trả lời ngắn dưới đây. Chúc mừng! –

Trả lời

10

Mọi thứ bạn đang làm đều OK. Tuy nhiên, khi tạo mã thông báo OAuth để xác thực, hãy đảm bảo rằng bạn đang xác định đúng scopes. Mỗi phạm vi xác định một tập hợp cụ thể các hành động được phép (thông tin bạn có thể đọc/ghi), vì vậy bạn nên kiểm tra xem bạn đang tạo mã thông báo có phạm vi repo hay không.

Các vấn đề liên quan