You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取LinkedIn contactExporterTasks任务权限?Next.js+Supabase场景

解决方案

1. 添加必需的OAuth授权Scope

你当前的OAuth登录scopes缺少contact_exporter——这是调用contactExporterTasks接口的核心权限。修改Supabase的OAuth配置,将该scope加入授权列表:

const { data, error } = await supabase.auth.signInWithOAuth({
  provider,
  options: {
    redirectTo: `${window.location.origin}/auth/callback`,
    scopes: "openid,profile,w_member_social,email,contact_exporter" // 新增contact_exporter
  },
});

2. 确认LinkedIn应用权限配置

检查LinkedIn开发者后台的「产品」->「权限」模块,确保已添加Contact Exporter权限并通过审核。注意:该权限针对商业用途的应用可能需要额外的审核流程,若你之前未申请到,需重新提交权限申请并说明使用场景。

3. 完善API请求体参数

你的POST请求缺少必要的请求体,LinkedIn的contactExporterTasks接口要求指定导出格式等参数,缺失会触发权限类错误。补充请求体示例:

const linkedinResponse = await fetch("https://api.linkedin.com/v2/contactExporterTasks", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${linkedinToken}`,
    "Content-Type": "application/json",
    "X-Restli-Protocol-Version": "2.0.0",
  },
  body: JSON.stringify({
    "format": "CSV", // 支持CSV或VCF格式
    "locale": {
      "country": "CN", // 根据用户实际地区调整
      "language": "zh"
    }
  })
});

4. 验证令牌权限有效性

调用LinkedIn令牌信息接口,确认返回的令牌已包含contact_exporter权限:

const tokenInfo = await fetch("https://api.linkedin.com/v2/me?projection=(id,authorizedScopes)", {
  headers: { "Authorization": `Bearer ${linkedinToken}` }
});

若authorizedScopes中无该权限,需引导用户重新授权,确保用户同意授予联系人导出权限。

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 03:42:42