Post 如何在NestJS中使用HttpModule发布表单数据
我正在尝试从Instagram API获取访问令牌。我想把尸体作为表格数据发送。这是我的密码。这是行不通的。但在《邮递员》中效果很好Post 如何在NestJS中使用HttpModule发布表单数据,post,axios,nestjs,mern,httpmodule,Post,Axios,Nestjs,Mern,Httpmodule,我正在尝试从Instagram API获取访问令牌。我想把尸体作为表格数据发送。这是我的密码。这是行不通的。但在《邮递员》中效果很好 async getAccessTokenByCode(code: string): Promise<string> { const baseUrl = config.get('authorize.baseUrl'); const clientId = config.get('basic.clientId'); const c
async getAccessTokenByCode(code: string): Promise<string> {
const baseUrl = config.get('authorize.baseUrl');
const clientId = config.get('basic.clientId');
const clientSecret = config.get('basic.clientSecret');
const grantType = config.get('basic.grant_type');
const redirectUri = config.get('basic.redirect_uri');
const url = `${baseUrl}/oauth/access_token`
const form = new FormData();
form.append('client_id', clientId);
form.append('client_secret', clientSecret);
form.append('grant_type', grantType);
form.append('redirect_uri', redirectUri);
form.append('code', code);
try {
const response = await this.httpService.post(url, { data: form }, { headers: form.getHeaders() }).toPromise();
return response.data;
} catch (error) {
console.log(error);
}
}
异步getAccessTokenByCode(代码:字符串):承诺{
const baseUrl=config.get('authorize.baseUrl');
const clientId=config.get('basic.clientId');
const clientSecret=config.get('basic.clientSecret');
const grantType=config.get('basic.grant_type');
const redirectUri=config.get('basic.redirect_uri');
const url=`${baseUrl}/oauth/access\u令牌`
const form=new FormData();
表单.append('client_id',clientId);
表单.append('client_secret',clientSecret);
表单.append('grant\u type',grantType);
form.append('redirect_uri',redirectUri);
格式。追加('代码',代码);
试一试{
const response=wait this.httpService.post(url,{data:form},{headers:form.getHeaders()}).toPromise();
返回响应数据;
}捕获(错误){
console.log(错误);
}
}
如何使用NestJS HttpModule正确发送post数据???以下是我的工作代码:
async getAuthToken() {
const url = this.configService.get<string>('AUTHTOKEN_URL');
var bodyFormData = new FormData();
bodyFormData.append('SCOPE', this.configService.get<string>('SCOPE'));
bodyFormData.append('EMAIL_ID', this.configService.get<string>('EMAIL_ID'));
bodyFormData.append('PASSWORD', this.configService.get<string>('PASSWORD'));
const response = await this.httpService.post(
url,
bodyFormData,
{ headers: bodyFormData.getHeaders() }
).toPromise();
console.log(response.data);
return response.data;
}
异步getAuthToken(){
const url=this.configService.get('AUTHTOKEN_url');
var bodyFormData=新FormData();
bodyFormData.append('SCOPE',this.configService.get('SCOPE');
bodyFormData.append('EMAIL\u ID',this.configService.get('EMAIL\u ID'));
bodyFormData.append('PASSWORD',this.configService.get('PASSWORD');
const response=等待this.httpService.post(
网址,
bodyFormData,
{headers:bodyFormData.getHeaders()}
).toPromise();
console.log(response.data);
返回响应数据;
}
第二个参数不是json,在您的案例中,它只是数据我必须手动格式化数据。我不知道如何在NestJS中正确地做到这一点。例如,我还没有找到像qs这样的模块,我会在NodeJS中使用它
const data = `client_id=${clientId}&client_secret=${clientSecret}&grant_type=${grantType}&redirect_uri=${redirectUri}&code=${code}`;
不要忘记导入表单数据包:从“表单数据”导入表单数据;