Я думаю, что мне нужно больше заголовков для использования Google Cloud Resource Manager API. Это процесс, которому я следую, чтобы аутентифицироваться и получать разрешения. Но теперь API не отправляет мне объясненную ошибку.
FIRST: создайте всплывающее окно oAuth:
openPopup()
{
const name = 'Authorization'
const options = `width=${ 500 },height=${ 600 },left=${ 0 },top=${ 0 }`;
const url = `
https://accounts.google.com/o/oauth2/v2/auth?
client_id=<CLIENT_ID>&
response_type=code&
include_granted_scopes=true&
scope=https%3A//www.googleapis.com/auth/cloud-platform&
redirect_uri=http://localhost&
access_type=offline`;
return window.open(url, name, options);
}
THEN Проверьте код:
authApi(): Observable<any>{
let headers = new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded'
})
let body = `
code=<RESPONSE_CODE>&
client_id=<CLIENT_ID>&
client_secret=<CLIENT_SECRET>&
grant_type=authorization_code&
redirect_uri=http://localhost`;
return this._http.post(`https://www.googleapis.com/oauth2/v4/token`,
body, {headers: headers})
}
НО СЕЙЧАС, КОГДА Я пытаюсь использовать API, отправляет мне эту ошибку
status: 0
statusText: "Unknown Error"
url: "https://cloudresourcemanager.googleapis.com/v1/projects"
ok: false
name: "HttpErrorResponse"
message: "Http failure response for https://cloudresourcemanager.googleapis.com/v1/projects: 0 Unknown Error"
Я пытаюсь использовать API со следующей функцией
createProject( token ): Observable<any>{
const headers = new HttpHeaders({
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'scope': 'https://www.googleapis.com/auth/cloud-platform',
'Authorization': `Bearer ${token}`
})
const body = {
"name": 'newAgent',
"projectId": 'newAgent123',
"labels": {
"test": 'test'
}
}
return this._http.post(`https://cloudresourcemanager.googleapis.com/v1/projects`,
body, { headers: headers }
)
}