问题描述
我需要访问yahoo Contacts API,但是当我在开发人员控制台中创建应用程序时,contacts API权限不可用。
因此,我选择了所有权限,然后遵循authorization code flow。我遇到的第一个问题是在身份验证请求中将范围设置为sdct-r
时出现此错误:
我最终将范围设置为openid
(因为这是唯一起作用的范围),然后我使用/get_token
端点将访问令牌的授权代码交换了。我试图通过此api使用此访问令牌来获取联系人
https://social.yahooapis.com/v1/user/me/contacts?format=json
{
"error": {
"detail": {
"content": [
"Please make sure you have appropriate permissions for get action(s)"
]
},"description": "Authentication failure or invalid Application ID","lang": "en-US"
}
}
我的问题是:雅虎是否停止了其联系人API或我出了什么问题?我认为该api不再可用,因为甚至文档链接也停止工作https://developer.yahoo.com/social/rest_api_guide/contacts_table.html。还有其他与用户联系的解决方案吗?
解决方法
雅虎的通讯录 API 已被弃用,转而支持 CardDAV。他们还通过让我们手动申请访问权限,改变了提供对 CardDAV API 访问权限的方式。
您现在可以通过在此处向母公司 Verizon Media 提交申请来申请访问 Yahoo 用户的联系人数据:https://developer.verizonmedia.com/mail/mail-api-access/
您应该在这里查看他们的政策和序言:https://developer.verizonmedia.com/mail/
一旦他们批准了您的申请,您的 YDN 帐户将能够请求 sdct-r
范围。您将能够使用收到的 access_token 访问 CardDAV API for Yahoo。
美好的时光! ?