Diğer cevapta da belirtildiği gibi, sorun x-www-form-urlencoded formatında gönderilmesi gereken form gövdesi ile ilgilidir . Postacı için benim için iyi çalışıyordu, ancak aynı şeyi açısal olarak uygulamak biraz tipik. Burada post istek gövdesi önce HttpParams biçiminde dönüştürmek ve daha sonra böyle bir dize olarak post istek 'body' parametresine geçmek zorunda ..
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class appService {
constructor(private http: HttpClient) { }
public getInstaAccessToken(formData) {
let full_url = "https://api.instagram.com/oauth/access_token";
let body = new HttpParams()
.set("client_id" , "YOUR_CLIENT_ID")
.set("client_secret","YOUR_CLIENT_SECRET")
.set("code","code received from redirect url")
.set("grant_type","authorization_code")
.set("redirect_uri","your redirect uri")
const requestOptions = {
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
}
return this.http.post(full_url, body.toString(), requestOptions).subscribe(data=>{
console.log(data);
/*
{
"access_token": "IGQVJ...",
"user_id": 17841405793187218
}
*/
})
}
}