2016-09-23 9 views
6

私はこれを使用してTrelloのAPIからデータを取得することができます。Trello API:メンバー、添付ファイル、カード情報を1回の呼び出しで入手できますか?

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()); 
} 

しかし、これは3つの呼び出しに分割されます。カード情報、メンバー情報、添付情報を一度に入手する方法はありますか? docs&fields=name,idを使用して言及していますが、基本呼び出しから返される内容をcardsエンドポイントに限定するように見えます。

私はカード情報が必要なたびにAPIを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

は、次のパラメータでAPIを打つ試してみてください。

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

+0

私は私の個人的なラップトップに帰るとすぐにこれをチェックします。これはどこのドキュメントにありますか? –

関連する問題