我是一名新手,如果我使用了错误的术语,请见谅。我试图使用Trello API获取数据,但在Chrome控制台中收到以下错误:
无法加载https://api.trello.com/1/cards/5a42e19364345a7d84ba3f5f/members:当请求的凭据模式为“include”时,响应中的'Access-Control-Allow-Origin'头的值不能为通配符'*'。因此,源'http://localhost:8080'不允许访问。XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制。
经过一些研究,我发现这是一个CORS问题。我正在使用Python的Google App Engine。这个错误是我能够解决还是API的错误?我已经成功使用此API进行了POST请求。我阅读了许多关于CORS的信息,但没有找到解决这个问题的方法。
这里是我的JavaScript代码,用于GET请求,它只是从Trello API复制/粘贴,所以我不知道出了什么问题:
var authenticationSuccess = function() {
console.log('Successful authentication');
};
var authenticationFailure = function() {
console.log('Failed authentication');
};
window.Trello.authorize({
type: 'popup',
name: 'Work Requests App',
scope: {
read: 'true',
write: 'true' },
expiration: 'never',
success: authenticationSuccess,
error: authenticationFailure
});
var data = JSON.stringify(false);
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.trello.com/1/cards/5a42e1936434a7d84ba3f5f/members");
xhr.send(data);
client.js
API来执行请求呢?它会在授权后存储所需的凭据,并将它们作为参数/标头添加到请求中。此外,我认为您需要在授权成功后(即在authenticationSuccess
回调中)执行这些操作。 - Philclient.js
,因为它包含在我的 HTML<script src="https://api.trello.com/1/client.js?key={key}"></script>
中。我的 JavaScript 其他部分都是从他们的文档中复制的,并添加了适当的密钥。 - user9109814Trello
对象方法。 - Phil