我正在尝试通过发出 get 请求从 Angular 中的 Gravityform Rest API V.2 接收条目,但我不断收到 401 http 错误响应,而我的控制台日志('从源'localsite' 访问'livesite'的 XMLHttpRequest被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态。')。我已经使用“基本身份验证”来提出请求。
https://docs.gravityforms.com/rest-api-v2/#basic-authentication https://docs.gravityforms.com/rest-api-v2/#get-forms-form-id-entries
我成功地使用 Postman 应用程序使用相同的凭据发出 post/get 请求。我已将 SSL 添加到我的域并在 Wordpress 中允许“访问控制允许来源:*”。
// Link to form #1
const url = 'https://livesite.com/wp/wp-json/gf/v2/forms/1/entries';
// Base64 key with : and keys are set in environment.ts
const key = btoa(this.publicApiKey + ':' + this.privateApiKey);
// Create HttpHeaders
const headersObject = new HttpHeaders().set('Authorization', 'Basic ' + key);
const httpOptions = { headers: headersObject };
// Get
this.http.get(url, httpOptions)
.subscribe(
response => {
console.log('response', response);
},
error => {
console.log('error', error);
}
);