【问题标题】:How can I get the quantity_available field to be returned from calls to the EventBrite API?如何从 EventBrite API 调用中获取要返回的 quantity_available 字段?
【发布时间】:2017-03-18 17:33:31
【问题描述】:

Eventbrite documentation on the ticket object 表示它可以包含quantity_availablequantity_sold 字段,但要查看其中任何一个字段“需要身份验证”。不过,它没有提供更多细节,当我使用我的应用程序键调用 event_search 方法时,返回的事件中的 tickets 对象不包含 quantity_availablequantity_sold 键。

需要什么身份验证才能查看这些字段?它们是否仅对活动的所有者可见,或者我是否可以通过某种方式让 API 返回其他人活动的可用门票数量?

如果通过 API 无法做到这一点,是否可以在 Eventbrite 上的其他任何地方公开显示某个活动的剩余门票数量,我可以通过网络爬虫获取它?

【问题讨论】:

  • 您的意思是ticket_classes 对象吗?

标签: eventbrite


【解决方案1】:

这需要称为扩展。这里有更多细节: https://groups.google.com/forum/#!msg/eventbrite-api/sjMO-gV8-Go/uzw7GHq2_SEJ

基本上,这样调用它会在 python3 中使用您的 Apps OAuth 令牌填充正确的字段:

import requests    
eventbrite_response = requests.get(
    "https://www.eventbriteapi.com/v3/events/<YOUR EVENT ID HERE>/?expand=ticket_classes",
    headers = {
        "Authorization": "Bearer <YOUR APP OAUTH TOKEN>",
    },
    verify = True,  # Verify SSL certificate
    )
print(eventbrite_response.json()['ticket_classes'][0]['quantity_sold'])

如果您愿意,您可以在最后定制打印功能以包含更多的 json 数据。

【讨论】:

    【解决方案2】:

    为了使用 Eventbrite API 读取或写入私有数据,您需要提供额外的用户身份验证令牌。这些额外信息让 Eventbrite 知道在请求期间应该授权谁访问私有数据(包括 quantity_available 和 quantity_sold 值)。

    只要您提供额外的用户访问令牌,公共和私人数据都将可用。

    认证参数包括:

    app_key:应用程序密钥(也称为 API 密钥),标识正在联系 API 的应用程序。所有 API 请求都必须包含某种形式的应用程序标识。如果这是提供的唯一身份验证令牌,则 API 请求将仅限于公开可用的数据。应用程序密钥的默认速率限制为每天 1000 个请求。您可以在这里获取和管理您的 API 密钥:https://www.eventbrite.com/api/key/

    access_token:推荐。 OAuth2 访问令牌与用户帐户和应用程序密钥相关联。由于也可以通过此令牌识别用户授权的应用程序,因此它是唯一不需要同时提供应用程序密钥的身份验证参数。注意不要将这些令牌暴露给其他用户!使用 access_tokens 联系我们的 API 时需要额外的请求标头:“Authorization: Bearer YOUR_ACCESS_TOKEN_HERE”。您可以在此处了解有关如何为 OAuth2.0 配置应用程序的更多信息:http://developer.eventbrite.com/doc/authentication/oauth2/

    user_key:每个 Eventbrite 帐户都有一个关联的 user_key。除了我们的公开数据之外,此令牌还提供对相关用户帐户数据的访问权限。此身份验证方法适用于需要私有数据访问且无法使用 OAuth2.0 工作流程的用例。此令牌会解锁敏感信息,因此请务必小心不要将此令牌暴露给其他用户!

    这是一个使用 app_key 和 user_key 参数返回私有数据的 API 调用示例(请记住替换为您自己的 app_key 和 user_key):

    https://www.eventbrite.com/json/user_list_events -G -d app_key=APPKEY -d user_key=USERKEY

    您还可以在此处查看身份验证文档:http://developer.eventbrite.com/doc/authentication/

    【讨论】:

    • 只是为了确认:quantity_availablequantity_sold 是“私人的”,因为它们只对创建事件的用户可见?也许我的问题并不清楚;这不是我努力从文档中理解的身份验证过程的机制,而是理解任何给定级别的身份验证使我有权看到的内容。我是否真的正确理解,除非我是活动所有者(或拥有与所有者关联的 access_token),否则我不能知道活动还有多少可用门票?
    • 嗨@MarkAmery - 你后来找到解决方案了吗?
    • 不,从未发现查看事件的quantity_availablequantity_sold 字段需要什么权限。这个答案基本上没用;它只是解释了如何对 API 调用进行身份验证(我已经在问题中明确表示我知道该怎么做!)并提供关于谁实际被允许访问我感兴趣的字段的零信息。它看起来像 API现在已经发生了巨大的变化,而且我已经很多年没有接触过 Eventbrite,所以我不知道这个问题是否仍然有意义,或者文档现在是否包含答案。
    猜你喜欢
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    相关资源
    最近更新 更多