Vimeo API JsonP 问题

问题描述

我正在对 Vimeo API 的 jQuery ajax 调用进行故障排除,该调用在上个月左右开始失败,但在工作一段时间后开始失败。

// Url ends up like "https://www.vimeo.com/api/v2/video/123456789.json?callback=?"
 
var url = _thumbnailUrl + vimeoId + '.json?callback=?';

$.getJSON(
    url,{ format: "json" },function (data)
    {
        // Do Stuff after getting data
    }
);

我的猜测是“?callback=?”正在强制 JSONP 返回,但由于某种原因不再起作用并返回以下错误。我在 Vimeo 网站上看不到有关 API 任何更改的任何信息,但也许他们已经删除了 jsonp 支持。

text:  "parseerror"
error: "jQuery35106413737095079624_1612470990268 was not called"  

如果我删除“?callback=?”,它在 PostMan 中工作正常(因为您在那里没有看到 CORS 问题)但在浏览器中它会出错:

Access to XMLHttpRequest at 'https://www.vimeo.com/api/v2/video/123456789.json' 
from origin 'https://www.myurl.com' has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

我尝试了很多方法,包括重新格式化为直接的 $.ajax 调用和切换 ajax 调用的各种属性,但没有找到解决方案。

还有其他人看到这个 Vimeo 问题吗?关于如何让它工作的任何建议?

解决方法

我刚遇到这个问题。摆脱了 jsonp 的东西,现在它可以正常工作了。

可直接在浏览器中访问视频 API 链接。 https://www.vimeo.com/api/v2/video/302379615.json 我没有遇到任何 CORS 问题。

$.ajax({
    type: 'GET',url: '//vimeo.com/api/v2/video/' + video.id + '.json',dataType: 'json',success: function(data) {
        console.log(data);
    }
});

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...