我正在尝试创建一个JSON请求并且我有以下脚本,由于某种原因我没有得到回复。任何人都可以帮忙吗?
我有我的令牌,但我不知道我需要把它放在哪里?
<script>
$.ajax(
'https://data.brightcove.com/analytics-api/videocloud/accounts/867903724001/report/?dimensions=video&format=json', {
type: 'GET',
dataType: 'json',
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Bearer $token")
},
complete: function(resp) {
console.log(resp);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus);
}
}
);
</script>
答案 0 :(得分:1)
$.ajax({
url: 'https://data.brightcove.com/analytics-api/videocloud/accounts/867903724001/report/?dimensions=video&format=json',
dataType: 'JSONP',
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Bearer $token")
},
success: function(data){
console.log(data)
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus);
}
})
将数据类型json更改为jsonp。由于您尝试访问跨域,因此必须使用jsop。
答案 1 :(得分:0)
您可以在html文件中使用此脚本
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qs/6.9.4/qs.js"></script>
需要此脚本后,您可以编写自己的javascript函数,它将起作用。
brightcoveClientId:传递动态的Brightcove客户ID。 brightcoveClientSecret:传递动态的Brightcove秘密。
async function brightCove(params) {
const config = {
url: 'https://oauth.brightcove.com/v4/access_token',
method: 'post',
data: Qs.stringify({
grant_type: 'client_credentials',
client_id: brightcoveClientId,
client_secret: brightcoveClientSecret,
})
};
const bearerToken = await axios(config);
const getPlayableUrl = await axios.get(`https://cms.api.brightcove.com/v1/accounts/${brightcoveAccountId}/videos/${embededCode}/sources`,
{
"headers": {
"content-type": "application/x-www-form-urlencoded",
"authorization": `Bearer ${bearerToken.data.access_token}`
}
});
}
对我来说很好。