加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl – 在收到来自Yahoo API的联系人照片时出现404错误

发布时间:2020-12-16 06:13:41 所属栏目:大数据 来源:网络整理
导读:我使用ShuttleCloud导入联系人,但他不支持使用联系人照片.由于ShuttleCloud给了我联系人ID,我很容易收到谷歌的联系人照片,但不能来自雅虎. (据我所知,微软不支持返回 contact photo的机制). 例如,我使用url获取有关联系人的信息: my $url = 'https://social
我使用ShuttleCloud导入联系人,但他不支持使用联系人照片.由于ShuttleCloud给了我联系人ID,我很容易收到谷歌的联系人照片,但不能来自雅虎. (据我所知,微软不支持返回 contact photo的机制).

例如,我使用url获取有关联系人的信息:

my $url = 'https://social.yahooapis.com/v1/user/72KIKWBUXCMY6XVHD5B5UN52PU/contact/13?format=json';

然后我使用收到的网址获取GET图像:

my $url = 'http://social.yahooapis.com/v1/user/72KIKWBUXCMY6XVHD5B5UN52PU/contact/13/Image/2';

全部根据documentation.但雅虎在加速器上返回404 Not Found.如果我使用https代替http,雅虎将返回404 Not Found.

带GET请求的代码:

my $ua  = LWP::UserAgent->new();
my $req = HTTP::Request->new(GET => $url);
$req->header('Authorization' => 'Bearer '.$token);
my $resp = $ua->request($req);

附:使用单个字段(名称,地址等)的所有请求都具有类似的返回码和错误.

我的范围:
联系方式 – 读/写;
社交目录(个人资料) – 读/写公共和私人.

解决方法

看起来雅虎联系人API大多已经死亡/破碎.
它在 book中有很好的记录,但实际上它的一些功能不再适用了.这些破坏的功能包括单字段请求(GET或PUT),字段收集请求(如/ contact / ID / emails)(再次,无论HTTP方法如何),以及您注意到图像提取.
仍然可以创建新联系人或删除现有联系人,因为多联系人和单联系人端点仍然存在.但是无法编辑现有联系人或获取联系人图像.

此外,此API不会设置任何CORS标头,这使得无法直接从浏览器使用此API.
(如何从雅虎方面修复:向API端点添加Access-Control-Allow-Origin:*标头.如何从客户端解决方法:使用后端作为代理)

有一个page,从他们的开发者主页链接,声称是documentation for a current version of Yahoo Social API,但这个页面也被打破了.它有“文档”和“论坛”的链接,两者都有空的href,导致同一页面.唯一可行的链接是前面提到的REST API书籍,标题为“Legacy API”.

摘要:

>可能有一些新版本的API,但它没有在任何地方记录,指定用于文档的页面被破坏.
>对于“旧”版本的API有一个很好的文档,但API本身并不完全正常.
>网络版的联系人应用程序(在Yahoo Mail中)使用自己的后端,而不是公共API,请求受Cookie保护,而不是OAuth密钥.因此,我们不能轻易使用此API,尽管它可能是获取所需信息的唯一工作方式.

UPD:在Twitter和Uservoice问他们,请投票.希望有人最终能够研究这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读