Pygithub: oAuth ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Œ

์— ๋งŒ๋“  2013๋…„ 01์›” 23์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PyGithub/PyGithub

์•ˆ๋…•ํ•˜์„ธ์š”,

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ญ์ƒ GithubException: 404 {u'message': u'Not Found'} ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋„์™€์ฃผ์„ธ์š”

๋‚ด ์ฝ”๋“œ๋Š” ๋™๋ฃŒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”

repo_service = Github('ํ† ํฐ')
repo_service.get_repo('์ €์žฅ์†Œ ์ด๋ฆ„').create_issue('test', 'TestSam', assignee=์—†์Œ, ๋งˆ์ผ์Šคํ†ค=์—†์Œ, ๋ ˆ์ด๋ธ” = ์—†์Œ)

question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฏธ๋ž˜์— ์ด๊ฒƒ์„ ์ฐพ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด: Github Personal Token์œผ๋กœ๋„ ๋™์ผํ•œ ์‹œ๋„๋ฅผ ํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ ํ† ํฐ์— ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์ด ์—†์—ˆ๊ณ  Github API๋Š” 404 ๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ† ํฐ์— public_repo ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

airjp818

๋ชจ๋“  3 ๋Œ“๊ธ€

์˜ˆ์™ธ์˜ ์Šคํƒ ์ถ”์ ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค :-) ๊ท€ํ•˜๊ฐ€ ์ œ๊ณตํ•œ ์ •๋ณด๋กœ๋Š” ์–ด๋–ค ๋ถ€๋ถ„์ด ์‹คํŒจํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๊ฐ™์€ ์˜ˆ์™ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

g = Github('Token')
g.get_repo('Repo Name')

์ €์žฅ์†Œ์˜ ์ „์ฒด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์€ jacquev6/PyGithub์—์„œ ๋ฌธ์ œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

g = Github(token)
repo = g.get_user("jacquev6").get_repo("PyGithub")  # or repo = g.get_repo("jacquev6/PyGithub")
issue = repo.create_issue("Issue title")

๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ฃผ์ €ํ•˜์ง€ ๋ง๊ณ  ์ €์—๊ฒŒ ๋ง์”€ํ•ด ์ฃผ์‹ญ์‹œ์˜ค.

(Pdb) ์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
github์˜ ํŒŒ์ผ "/Users/app/views.py", 162ํ–‰
issue1 = repo.create_issue("์ด์Šˆ ์ œ๋ชฉ", "์ด์Šˆ ๋ณธ๋ฌธ")
create_issue์—์„œ ํŒŒ์ผ "/Library/Python/2.7/site-packages/github/Repository.py", 375ํ–‰
post_parameters
requestAndCheck์—์„œ ํŒŒ์ผ "/Library/Python/2.7/site-packages/github/Requester.py", 80ํ–‰
GithubException.GithubException ๋ฐœ์ƒ(์ƒํƒœ, ์ถœ๋ ฅ)
GithubException: 404 {u'message': u'Not Found'}

๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์„ธ์š”

๋ฏธ๋ž˜์— ์ด๊ฒƒ์„ ์ฐพ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด: Github Personal Token์œผ๋กœ๋„ ๋™์ผํ•œ ์‹œ๋„๋ฅผ ํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ ํ† ํฐ์— ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์ด ์—†์—ˆ๊ณ  Github API๋Š” 404 ๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ† ํฐ์— public_repo ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

airjp818

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰