AnswerDotAI / AnswerDotAI/ghapi
Starting example results in 404, should specify JWT to make it work
- Lingua principale
- Python
- Stelle
- 685
- Fork
- 70
- Merge medio
- 1m
- PR unite (30g)
- 2
Descrizione
The simple example results in a 404 error:
```python
api = GhApi(owner='owner', repo='repo', token='')
pulls = api.pulls.list()
```
but with curl it works (from GitHub docs):
```sh
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer " \
https://api.github.com/repos/OWNER/REPO/pulls
```
The following works:
```python
api = GhApi(owner='owner', repo='repo', jwt_token='')
pulls = api.pulls.list()
```
The personal access token has scopes for repo, workflow, gist and notifications.
# Cause
It seems the API call to GitHub expects a different header. The example on GhApi sets `Authorization: token ` but the example on GitHub specifies `Authorization: Bearer `. On https://docs.github.com/en/rest/overview/other-authentication-methods this is expanded upon with the note:
> Note: In most cases, you can use Authorization: Bearer or Authorization: token to pass a token. However, if you are passing a JSON web token (JWT), you must use Authorization: Bearer.
Reading the docs I assume the header `Authorization: token ` is fine, but the above experimentation indicates otherwise.
# Conclusion
I have no clue why 'my' token is regarded as a JWT token here, and in the example of GhApi not. For me it works, but I couldn't find a reason. Perhaps it helps someone searching for this, but I'm also interested to known if it is a setting or ...
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia riproducendo il semplice esempio di GhApi con token='' e confrontalo con jwt_token='' e con la richiesta curl di GitHub. Traccia il modo in cui GhApi costruisce l'header Authorization, quindi aggiorna l'esempio iniziale o le relative indicazioni sull'autenticazione in modo che api.pulls.list() non produca più il 404 segnalato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- github, python
- Ambito
- api, authentication
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100