Kos*_*ndr 5 perl http contacts yahoo-api
我ShuttleCloud用于导入联系人,但他不支持使用联系人照片。由于ShuttleCloud为我提供了联系人ID,因此我很容易从Google接收到联系人照片,但无法从Yahoo获得。(据我了解,Microsoft不支持退回联系人照片的机制)。
例如,我使用url获取有关联系人的信息:
my $url = 'https://social.yahooapis.com/v1/user/72KIKWBUXCMY6XVHD5B5UN52PU/contact/13?format=json';
Run Code Online (Sandbox Code Playgroud)
然后,我将收到的网址用于GET图片:
my $url = 'http://social.yahooapis.com/v1/user/72KIKWBUXCMY6XVHD5B5UN52PU/contact/13/Image/2';
Run Code Online (Sandbox Code Playgroud)
全部根据文档。但是雅虎又回来了404 Not Found on Accelerator。如果我使用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);
Run Code Online (Sandbox Code Playgroud)
PS所有使用“单个字段”(名称,地址等)的请求都具有相似的返回码和错误。
我的范围:联系人-读/写;社交目录(个人资料)-读/写公共和私人。
看起来雅虎联系人 API 大部分已失效/损坏。他们的书中对此进行了详细记录,但实际上它的某些功能[不再]起作用。这些损坏的功能包括单字段请求(或者GET)PUT、字段集合请求/contact/ID/emails(同样,无论 HTTP 方法如何)以及您注意到的图像获取。仍然可以创建新的联系人或删除现有的联系人,因为多联系人和单联系人端点都处于活动状态。但无法编辑现有联系人或获取联系人图像。
此外,该 API 未设置任何CORS标头,因此无法从浏览器直接使用该 API。
(如何从雅虎端修复:Access-Control-Allow-Origin: *向 API 端点添加标头。如何从客户端解决:使用后端作为代理)
有一个页面,从他们的开发者主页链接,声称是当前版本的 Yahoo Social API 的文档,但该页面也已损坏。它具有指向“文档”和“论坛”的链接,两者都带有href指向同一页面的空链接。唯一有效的链接是前面提到的 REST API 书籍,该书标记为“Legacy API”。
UPD:在Twitter和Uservoice上询问他们,请投票。希望最终有人会研究这个问题。