2012-12-13 22 views
0

Eventbrite documentation on the ticket object表示它可以包含quantity_availablequantity_sold字段,但要查看這些字段中的任何一個「需要驗證」。儘管如此,當我使用我的應用程序鍵調用event_search方法時,返回事件中的tickets對象不包含quantity_availablequantity_sold鍵。如何獲取從調用EventBrite API返回的quantity_available字段?

什麼驗證是需要看到這些領域?它們只對事件的所有者可見嗎?或者是否有可能以某種方式使API返回可用於其他人事件的票數?

如果通過API無法實現這一點,Eventbrite上的其他位置可以公開顯示的事件的剩餘票數是多少?

+0

你的意思是'ticket_classes'對象嗎? – DuffJ

回答

0

爲了使用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時需要額外的請求標頭:「授權:承載者YOUR_ACCESS_TOKEN_HERE」。您可以在此處瞭解有關如何配置OAuth2.0應用程序的更多信息:http://developer.eventbrite.com/doc/authentication/oauth2/

user_key:每個Eventbrite帳戶都有一個關聯的user_key。除了我們的公開可用數據之外,此令牌還提供對相關用戶帳戶數據的訪問。此認證方法適用於需要私人數據訪問的用例,而OAuth2.0工作流程無法進行。此令牌可以解鎖敏感信息,因此請非常小心,不要將此令牌暴露給其他用戶!

這裏是同時使用APP_KEY和user_key參數返回私人數據(記得在自己的APP_KEY和user_key代替)API調用的一個例子:

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

您還可以看到驗證文件的位置:http://developer.eventbrite.com/doc/authentication/

+0

只是爲了確認:'quantity_available'和'quantity_sold'是'private',因爲它們只對創建事件的用戶可見?也許我不清楚我的問題;這不是我努力從文檔中理解的認證過程的機制,而是理解任何給定級別的認證都有權讓我看到。除非我是活動所有者(或者擁有與所有者關聯的access_token),否則我的理解是否正確無誤:我不能知道事件的剩餘可用數量? –

+0

嗨@MarkAmery - 你以後找到解決方案嗎? –

+0

不,從來沒有發現需要什麼權限才能查看事件的'quantity_available'和'quantity_sold'字段。這個答案基本上沒用。它只是解釋瞭如何對API調用進行身份驗證(我已經明確知道如何處理該問題!),並且提供了關於誰實際允許訪問我感興趣的字段的零信息。它看起來像API現在已經發生了巨大的變化,而且我多年來沒有碰過Eventbrite,所以我不知道這個問題是否仍然有意義,或者文檔是否包含答案。 –

1

這需要被稱爲擴展。還有一些細節在這裏: https://groups.google.com/forum/#!msg/eventbrite-api/sjMO-gV8-Go/uzw7GHq2_SEJ

基本上,調用它像這樣會使用你的應用程序的OAuth令牌python3填充適當的字段:

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數據,如果你願意。

相關問題