【问题标题】:LinkedIn V2 API error "Unpermitted fields present in PARAMETER" when including timeRange params包含 timeRange 参数时,LinkedIn V2 API 错误“参数中存在未经允许的字段”
【发布时间】:2019-07-01 00:19:45
【问题描述】:

我正在用他们的 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]

403 表示拒绝访问,但我的令牌肯定包括他们提到的公司页面 API 所需的特定范围。我在这里错过了什么?

具体例子: 标题: 授权:承载XXXXXX X-Restli-Protocol-版本:2.0.0

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

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

【问题讨论】:

    标签: linkedin linkedin-api


    【解决方案1】:

    从 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),timeGranularityType:MONTH)

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

    【讨论】:

    • 谢谢!这间接帮助我解决了一个类似的问题:看起来有很多地方 V2 API 文档使用实际上不支持的符号。
    • 天哪,这花了我一整天的时间才弄明白……我只是因为你的回答才弄明白!他们的文档很烂!!
    • @Chris 很高兴听到这个消息。疯了 2 年多了,他们的文档还没有在这里更新。
    • @wakeman - 欣赏这个细节,但我仍然得到与上面相同的错误,下面的 url:url = 'api.linkedin.com/v2/…' 知道为什么吗?非常卡
    • @0004 可以分享一下具体的错误信息吗?据此(docs.microsoft.com/en-us/linkedin/marketing/integrations/…),据我所知,您的参数看起来是正确的。如果您仍然遇到困难,您可以尝试联系 LinkedIn 开发人员支持。目前我不确定他们的确切设置位置,距离我尝试联系他们已经有几年了,但他们确实提供了我所缺少的确切参数。
    【解决方案2】:

    发送标题..

    data = {
        "Authorization":       "Bearer " + token['access_token'] ,
    }
    response   = requests.get('https://api.linkedin.com/v2/me' , headers = data)
    

    现在就像一个魅力 如果您需要帮助,请联系我!

    【讨论】:

      猜你喜欢
      • 2019-12-11
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多