包含 timeRange 参数时,LinkedIn V2 API 错误“参数中存在不允许的字段”

wak*_*man 1 linkedin linkedin-api

我正在用他们的 V2 API 替换我们的 LinkedIn V1 API 集成,特别是这里描述的公司页面端点:

https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/company-pages-migration

我有一个已批准的应用程序和一个具有所有这些范围的令牌: r_ads r_ads_reporting r_basicprofile r_organization_social rw_organization_admin w_member_social w_organization_social w_share

上面列出的所有前几个 v2 端点都可以正常工作(获取公司简介、更新),但是一旦我添加了它们的特定 timeInterval 参数,我就会收到此 403 错误:

Unpermitted fields present in PARAMETER: Data Processing Exception while processing fields [/timeIntervals.timeGranularityType, /timeIntervals.timeRange.end, /timeIntervals.timeRange.start]
Run Code Online (Sandbox Code Playgroud)

403 意味着拒绝访问,但我的令牌肯定包括他们提到的公司页面 API 所需的特定范围。我在这里缺少什么?

具体示例:Headers: Authorization: Bearer XXXXX X-Restli-Protocol-Version: 2.0.0

端点:https : //api.linkedin.com/v2/organizationalEntityShareStatistics? q = organizationalEntity & organizationalEntity = urn%3Ali%3Aorganization%3AXXXXX & timeIntervals.timeGranularityType = DAY & timeIntervals.timeRange.start = 1548892800000.time1Range.start = 1548892800000 &time1Range800000

如果我删除所有 timeInterval 参数它工作正常,但我希望获得我们每月社交报告的历史数据。

wak*_*man 7

从 LinkedIn 支持部门提交了一张关于此问题的票,并得到了一些说明。

在 v2 下,API 不使用 . 对象的符号,而是嵌套的括号。他们的大部分文档仍然显示 . 符号方式(https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/company-pages-migration

但是这个页面:https : //docs.microsoft.com/en-us/linkedin/shared/api-guide/concepts/protocol-version?context=linkedin/marketing/context有一些关于 V2 正确符号的更多细节。

具体来说,我上面的请求应该是这样的:

https://api.linkedin.com/v2/organizationalEntityShareStatistics?q=organizationalEntity&organizationalEntity=urn%3Ali%3Aorganization%3AXXXXX&timeIntervals=(timeRange:(start:1548892800000,end:1558892800000)Type:timeGran

确保括号也不会被您的平台编码。