如何通过 SODA API 对私有数据集进行用户认证?

How to pass user authentication of a private dataset through SODA API?

我需要使用 SODA API 访问 socrata 中的私有数据集。假设下面link是数据集

https://data.cityofchicago.org/resource/xxxx-xxx.json

尝试此操作时出现以下错误。

"error" : true,
"message" : "You must be logged in to access this resource"

我有访问数据集的有效凭据。但是我怎样才能通过 SODA API 调用传递它呢? 我尝试了以下代码,但它不起作用。

https://data.cityofchicago.org/resource/xxxx-xxx.json?$username='myname'&$password='pwd@123'

您需要使用 HTTP Basic or OAuth 2.0 to authenticate. We have details on how to do that on the developer portal

请确保您还提供了应用程序令牌,如这些文档中所述。

您需要使用查询字符串传递 Secret-Token 和 AppToken。

如何获取秘密令牌

  1. 登录您的门户并select "Create new Application"
  2. 在 "website" 字段中输入 https://data.cityofchicago.org/resource/xxxx-xxx.json
  3. 保存。
  4. 转到 "Manage" 并从 "Manage" 下获取您的 AppToken 和 SecretToken。
  5. 现在,根据socrata开发者文档语法在URL中传递app token和secret token:

    https://sandbox.socrata.com/oauth/access_token
    ?client_id=YOUR_AUTH_TOKEN
    &client_secret=YOUR_SECRET_TOKEN
    &grant_type=authorization_code
    &redirect_uri=YOUR_REDIRECT_URI
    &code=CODE
    

also looking 想回答同样的问题。通过应用程序令牌后,我可以访问 public 数据库但无法访问私有数据库。