2016-09-23 6 views
6

मैं इस का उपयोग कर Trello एपीआई से डेटा प्राप्त कर सकते हैं:ट्रेलो एपीआई: एक कॉल में सदस्यों, अनुलग्नक, और कार्ड की जानकारी प्राप्त करें?

private function get_card_info($card_id) { 
    $client =   new \GuzzleHttp\Client(); 
    $base =   $this->endpoint . $card_id; 
    $params =   "?key=" . $this->api_key . "&token=" . $this->token;  
    $cardURL =  $base . $params; 
    $membersURL =  $base . "/members" . $params; 
    $attachmentsURL = $base . "/attachments" . $params; 

    $response = $client->get($cardURL); 
    $this->card_info['card'] = json_decode($response->getBody()->getContents()); 

    $response = $client->get($membersURL); 
    $this->card_info['members'] = json_decode($response->getBody()->getContents()); 

    $response = $client->get($attachmentsURL);  
    $this->card_info['attachments'] = json_decode($response->getBody()->getContents()); 
} 

बहरहाल, यह तीन कॉल में बाँटा गया है। क्या कार्ड की जानकारी, सदस्य की जानकारी, और संलग्नक की जानकारी सभी को एक कॉल में लाने का कोई तरीका है? docs&fields=name,id का उपयोग करके उल्लेख करते हैं, लेकिन यह केवल बेस कॉल से cards एंडपॉइंट पर वापस लौटने की सीमा को सीमित करता है।

हर बार मुझे कार्ड की जानकारी की आवश्यकता होने पर एपीआई 3 बार मारना बेतुका है, लेकिन मुझे आवश्यक सभी चीज़ों को इकट्ठा करने के लिए कोई उदाहरण नहीं मिल रहा है।

उत्तर

4

Trello मेरे लिए उत्तर दिया, और कहा कि वे जवाब होगा कि बहुत पसंद व्लादिमीर किया था। हालांकि, उस से प्राप्त एकमात्र प्रतिक्रिया प्रारंभिक कार्ड डेटा, संतान अनुलग्नक और सदस्य था। हालांकि, उन्होंने मुझे this blog post पर निर्देशित किया जो बैचिंग अनुरोधों को शामिल करता है। उन्होंने जाहिर तौर पर इसे बनाए गए भ्रम की वजह से दस्तावेज़ों से हटा दिया।

परिवर्तनों को सारांशित करने के लिए, आप अनिवार्य रूप से /batch पर कॉल करें, और हिट करने के लिए एंडपॉइंट्स की अल्पविराम से अलग सूची के साथ urls GET पैरामीटर जोड़ें। कामकाजी अंतिम संस्करण इस तरह दिख रहा है:

private function get_card_info($card_id) { 
    $client =   new \GuzzleHttp\Client(); 
    $params =   "&key=" . $this->api_key . "&token=" . $this->token; 

    $cardURL = "/cards/" . $card_id; 
    $members = "/cards/" . $card_id . "/members"; 
    $attachmentsURL = "/cards/" . $card_id . "/attachments"; 

    $urls = $this->endpoint . implode(',', [$cardURL, $members, $attachmentsURL]) . $params; 

    $response = $client->get($urls); 
    $this->card = json_decode($response->getBody()->getContents(), true); 
} 
5

निम्नलिखित मानकों के साथ एपीआई मार का प्रयास करें:

/cards/[id]?fields=name,idList&members=true&member_fields=all&& attachments=true&&attachment_fields=all

+0

जैसे ही मैं अपने व्यक्तिगत लैपटॉप पर घर जाता हूं, मैं इसे जांचूंगा। क्या यह कहीं भी दस्तावेज़ों में है? –

संबंधित मुद्दे