【问题标题】:How to use Adobe Analytics API 2.0 inside of a Jupyther Notebook如何在 Jupyter Notebook 中使用 Adob​​e Analytics API 2.0
【发布时间】:2019-08-17 00:24:34
【问题描述】:

我想从我的 Jupyther Notebook 中调用 Adob​​e Analytics API 2.0。我不需要服务器和 adobe(或类似的)之间的任何“永久”身份验证,我只想获取一些(大量)数据进行分析。

我已经创建了一个 API 密钥集成,如此处所述 (https://www.adobe.io/authentication/auth-methods.html#!AdobeDocs/adobeio-auth/master/AuthenticationOverview/APIKeyIntegration.md)

如果我发送一个示例调用,可以说:

r = requests.get("https://analytics.adobe.io/api/myID/dimensions?rsid=myreportsuite&locale=en_US&segmentable=true&reportable=true&classifiable=false")

显然,我得到以下答案:

'{"error_code":"403010","message":"Oauth token is missing."}\n'

如何在我的请求中包含我的 Oauth 令牌?

【问题讨论】:

    标签: python api oauth jupyter-notebook adobe-analytics


    【解决方案1】:

    我一直在对此进行试验并创建了一个包,以便能够构建包含多个维度/指标的请求。更多详情请访问:https://analyticsmayhem.com/adobe-analytics/reports-v2-api-python/

    但是,为了发出请求,您仍然需要创建一个服务帐户来进行身份验证 (https://www.adobe.io/authentication/auth-methods.html#!AdobeDocs/adobeio-auth/master/JWT/JWT.md)。

    如果有任何关于包装的 cmets/反馈,请告诉我。

    【讨论】:

    • 在 Stack Overflow 上不鼓励仅链接的答案,因为如果链接停止工作或内容发生重大变化,它们将变得无用。您应该edit您的答案,以在答案本身中包含与问题相关的最重要信息。只是指向外部网站的链接的答案最终可能是deleted
    【解决方案2】:

    使用已经为您处理身份验证等内容的库可能会更容易。我来到python-adobe-analytics-2.0,但我自己没有使用它。也许,即使只是为了查看代码并根据您的需要进行调整,也值得一试。您可以在 this website 上找到有关该软件包的更多信息和文档。 (不幸的是,github repo 并没有提供真正的信息)

    如果你不想使用这个包,网站上还有一个关于在 Adob​​e 2.0 中使用 JSON Web-Token (JWT) 身份验证的教程。找到它here

    【讨论】:

      【解决方案3】:

      您需要将它们放在headers 中,特别是通过向get 函数的headers 参数提供字典,如here 所记录的那样

      url = 'https://api.github.com/some/endpoint'
      
      my_api_key = 'thisismyapikey9393'
      my_product_name = 'my_app_0.1'
      
      headers = {
          'x-api-key' : my_api_key,
          'x-product' : my_product_name
      }
      
      r = requests.get(url, headers=headers)
      

      我从您的 adobe 链接中的 Step 3: Try It 获取了标题名称。

      卷曲 'https://stock.adobe.io/Rest/Media/1/Search/Files?locale=en_US%26search_parameters%5Bwords%5D=kittens ' -H 'x-api-key:myAPIKey' -H 'x-product:myTestApp1.0'

      【讨论】:

      • 感谢您的回答!不幸的是它不工作。如果我按照你的方式实施,我会得到“Oauth token is missing”。如果我将 'Authorization': 添加到我的有效负载中,它会显示 "Oauth token is not valid" 。我仔细检查了拼写,肯定不是类型。
      • 你是否使用this example ?实现/测试过OAuth
      猜你喜欢
      • 2016-10-25
      • 1970-01-01
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多