Sample code for 30+ languages & platforms
Dart

Trello List Member Boards

See more Trello Examples

Lists the boards that the user is a member of.

For more information, see https://developers.trello.com/reference#membersidboards

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  // curl --request GET \
  //   --url 'https://api.trello.com/1/members/{member_id}/boards?filter=all&fields=all&lists=none&memberships=none&organization=false&organization_fields=displayName'

  // First get our previously obtained access token.
  final jsonToken = CkJsonObject();
  jsonToken.loadFile('qa_data/tokens/trello.json');

  final oauth1 = CkOAuth1();
  oauth1.consumerKey = 'TRELLO_CONSUMER_KEY';
  oauth1.consumerSecret = 'TRELLO_CONSUMER_SECRET';
  oauth1.token = jsonToken.stringOf('oauth_token');
  oauth1.tokenSecret = jsonToken.stringOf('oauth_token_secret');

  final rest = CkRest();

  // Connect using TLS.
  // A single REST object, once connected, can be used for many Trello REST API calls.
  // The auto-reconnect indicates that if the already-established HTTPS connection is closed,
  // then it will be automatically re-established as needed.
  final bAutoReconnect = true;
  try {
    rest.connect('api.trello.com', 443, true, bAutoReconnect);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  rest.setAuthOAuth1(oauth1, false);

  rest.addQueryParam('filter', 'all');
  rest.addQueryParam('fields', 'all');
  rest.addQueryParam('lists', 'none');
  rest.addQueryParam('memberships', 'normal');
  rest.addQueryParam('organization', 'false');
  rest.addQueryParam('organization_fields', 'name,displayName');

  rest.addHeader('Accept', 'application/json');

  final String responseBody;
  try {
    responseBody = rest.fullRequestNoBody('GET', '/1/members/member_id/boards');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // We should expect a 200 response if successful.
  if (rest.responseStatusCode != 200) {
    print('Request Header: ');
    print(rest.lastRequestHeader);
    print('----');
    print('Response StatusCode = ${rest.responseStatusCode}');
    print('Response StatusLine: ${rest.responseStatusText}');
    print('Response Header:');
    print(rest.responseHeader);
    print(responseBody);
    return;
  }

  final jarr = CkJsonArray();
  jarr.load(responseBody);
  jarr.emitCompact = false;
  print(jarr.emit());
  print('Success.');

  // A sample JSON response:
  // (See the parsing code below...)

  // Use this online tool to generate parsing code from sample JSON: 
  // Generate Parsing Code from JSON

  // [
  //   {
  //     "name": "House Projects",
  //     "desc": "",
  //     "descData": null,
  //     "closed": false,
  //     "idOrganization": null,
  //     "limits": null,
  //     "pinned": null,
  //     "shortLink": "j1hkQKKS",
  //     "powerUps": [
  //     ],
  //     "dateLastActivity": null,
  //     "idTags": [
  //     ],
  //     "datePluginDisable": null,
  //     "creationMethod": null,
  //     "ixUpdate": null,
  //     "id": "5cc5fe862106bb8e05aa41e7",
  //     "starred": false,
  //     "url": "https://trello.com/b/j1hkQKKS/house-projects",
  //     "prefs": {
  //       "permissionLevel": "private",
  //       "voting": "disabled",
  //       "comments": "members",
  //       "invitations": "members",
  //       "selfJoin": false,
  //       "cardCovers": true,
  //       "cardAging": "regular",
  //       "calendarFeedEnabled": false,
  //       "background": "5cc344f6ba4cdc5f5cfc7d81",
  //       "backgroundImage": "https://trello-backgrounds.s3.amazonaws.com/SharedBackground/2560x1709/4418c78f2f66d26932fef88aead2aff5/photo-1555985202-12975b0235dc",
  //       "backgroundImageScaled": [
  //         {
  //           "width": 140,
  //           "height": 93,
  //           "url": "https://trello-backgrounds.s3.amazonaws.com/SharedBackground/140x93/0aebced0ac2d8c9c4b9231b1960d28c2/photo-1555985202-12975b0235dc.jpg"
  //         },
  //  ...
  //         {
  //           "width": 2560,
  //           "height": 1709,
  //           "url": "https://trello-backgrounds.s3.amazonaws.com/SharedBackground/2560x1709/4418c78f2f66d26932fef88aead2aff5/photo-1555985202-12975b0235dc"
  //         }
  //       ],
  //       "backgroundTile": false,
  //       "backgroundBrightness": "dark",
  //       "backgroundBottomColor": "#412f23",
  //       "backgroundTopColor": "#a99d97",
  //       "canBePublic": true,
  //       "canBeEnterprise": true,
  //       "canBeOrg": true,
  //       "canBePrivate": true,
  //       "canInvite": true
  //     },
  //     "subscribed": false,
  //     "labelNames": {
  //       "green": "",
  //       "yellow": "",
  //       "orange": "",
  //       "red": "",
  //       "purple": "",
  //       "blue": "",
  //       "sky": "",
  //       "lime": "",
  //       "pink": "",
  //       "black": ""
  //     },
  //     "dateLastView": "2019-04-28T19:28:18.159Z",
  //     "shortUrl": "https://trello.com/b/j1hkQKKS",
  //     "memberships": [
  //       {
  //         "id": "5cc5fe862106bb8e05aa41e8",
  //         "idMember": "5cc5c74067d5215921ca7677",
  //         "memberType": "admin",
  //         "unconfirmed": false,
  //         "deactivated": false
  //       }
  //     ]
  //   },
  //   {
  //     "name": "Vacation Planning",
  //     "desc": "",
  //     "descData": null,
  //     "closed": false,
  //     "idOrganization": null,
  //     "limits": null,
  //     "pinned": null,
  //     "shortLink": "QqIHvQyz",
  //     "powerUps": [
  //     ],
  //     "dateLastActivity": "2019-04-28T15:32:20.134Z",
  //     "idTags": [
  //     ],
  //     "datePluginDisable": null,
  //     "creationMethod": "assisted",
  //     "ixUpdate": null,
  //     "id": "5cc5c783f5b10f8717a6b3d6",
  //     "starred": false,
  //     "url": "https://trello.com/b/QqIHvQyz/vacation-planning",
  //     "prefs": {
  //       "permissionLevel": "private",
  //       "voting": "disabled",
  //       "comments": "members",
  //       "invitations": "members",
  //       "selfJoin": true,
  //       "cardCovers": true,
  //       "cardAging": "regular",
  //       "calendarFeedEnabled": false,
  //       "background": "lime",
  //       "backgroundImage": null,
  //       "backgroundImageScaled": null,
  //       "backgroundTile": false,
  //       "backgroundBrightness": "dark",
  //       "backgroundColor": "#4BBF6B",
  //       "backgroundBottomColor": "#4BBF6B",
  //       "backgroundTopColor": "#4BBF6B",
  //       "canBePublic": true,
  //       "canBeEnterprise": true,
  //       "canBeOrg": true,
  //       "canBePrivate": true,
  //       "canInvite": true
  //     },
  //     "subscribed": false,
  //     "labelNames": {
  //       "green": "",
  //       "yellow": "",
  //       "orange": "",
  //       "red": "",
  //       "purple": "",
  //       "blue": "",
  //       "sky": "",
  //       "lime": "",
  //       "pink": "",
  //       "black": ""
  //     },
  //     "dateLastView": "2019-04-28T19:32:21.009Z",
  //     "shortUrl": "https://trello.com/b/QqIHvQyz",
  //     "memberships": [
  //       {
  //         "id": "5cc5c783f5b10f8717a6b3d7",
  //         "idMember": "5cc5c74067d5215921ca7677",
  //         "memberType": "admin",
  //         "unconfirmed": false,
  //         "deactivated": false
  //       }
  //     ]
  //   }
  // ]

  var i = 0;
  var name = '';
  var desc = '';
  var descData = '';
  var idOrganization = '';
  var limits = '';
  var pinned = '';
  var shortLink = '';
  var dateLastActivity = '';
  var datePluginDisable = '';
  var creationMethod = '';
  var ixUpdate = '';
  var id = '';
  var url = '';
  var prefsPermissionLevel = '';
  var prefsVoting = '';
  var prefsComments = '';
  var prefsInvitations = '';
  var prefsCardAging = '';
  var prefsBackground = '';
  var prefsBackgroundImage = '';
  var prefsBackgroundBrightness = '';
  var prefsBackgroundBottomColor = '';
  var prefsBackgroundTopColor = '';
  var labelNamesGreen = '';
  var labelNamesYellow = '';
  var labelNamesOrange = '';
  var labelNamesRed = '';
  var labelNamesPurple = '';
  var labelNamesBlue = '';
  var labelNamesSky = '';
  var labelNamesLime = '';
  var labelNamesPink = '';
  var labelNamesBlack = '';
  var dateLastView = '';
  var shortUrl = '';
  var prefsBackgroundImageScaled = '';
  var prefsBackgroundColor = '';
  var j = 0;
  var countJ = 0;
  var width = 0;
  var height = 0;
  var idMember = '';
  var memberType = '';

  i = 0;
  final countI = jarr.size;
  while (i < countI) {
    final json = jarr.objectAt(i);
    name = json.stringOf('name');
    desc = json.stringOf('desc');
    descData = json.stringOf('descData');
    json.boolOf('closed');
    idOrganization = json.stringOf('idOrganization');
    limits = json.stringOf('limits');
    pinned = json.stringOf('pinned');
    shortLink = json.stringOf('shortLink');
    dateLastActivity = json.stringOf('dateLastActivity');
    datePluginDisable = json.stringOf('datePluginDisable');
    creationMethod = json.stringOf('creationMethod');
    ixUpdate = json.stringOf('ixUpdate');
    id = json.stringOf('id');
    json.boolOf('starred');
    url = json.stringOf('url');
    prefsPermissionLevel = json.stringOf('prefs.permissionLevel');
    prefsVoting = json.stringOf('prefs.voting');
    prefsComments = json.stringOf('prefs.comments');
    prefsInvitations = json.stringOf('prefs.invitations');
    json.boolOf('prefs.selfJoin');
    json.boolOf('prefs.cardCovers');
    prefsCardAging = json.stringOf('prefs.cardAging');
    json.boolOf('prefs.calendarFeedEnabled');
    prefsBackground = json.stringOf('prefs.background');
    prefsBackgroundImage = json.stringOf('prefs.backgroundImage');
    json.boolOf('prefs.backgroundTile');
    prefsBackgroundBrightness = json.stringOf('prefs.backgroundBrightness');
    prefsBackgroundBottomColor = json.stringOf('prefs.backgroundBottomColor');
    prefsBackgroundTopColor = json.stringOf('prefs.backgroundTopColor');
    json.boolOf('prefs.canBePublic');
    json.boolOf('prefs.canBeEnterprise');
    json.boolOf('prefs.canBeOrg');
    json.boolOf('prefs.canBePrivate');
    json.boolOf('prefs.canInvite');
    json.boolOf('subscribed');
    labelNamesGreen = json.stringOf('labelNames.green');
    labelNamesYellow = json.stringOf('labelNames.yellow');
    labelNamesOrange = json.stringOf('labelNames.orange');
    labelNamesRed = json.stringOf('labelNames.red');
    labelNamesPurple = json.stringOf('labelNames.purple');
    labelNamesBlue = json.stringOf('labelNames.blue');
    labelNamesSky = json.stringOf('labelNames.sky');
    labelNamesLime = json.stringOf('labelNames.lime');
    labelNamesPink = json.stringOf('labelNames.pink');
    labelNamesBlack = json.stringOf('labelNames.black');
    dateLastView = json.stringOf('dateLastView');
    shortUrl = json.stringOf('shortUrl');
    prefsBackgroundImageScaled = json.stringOf('prefs.backgroundImageScaled');
    prefsBackgroundColor = json.stringOf('prefs.backgroundColor');
    j = 0;
    countJ = json.sizeOfArray('powerUps');
    while (j < countJ) {
      json.j = j;
      // ...
      j++;
    }

    j = 0;
    countJ = json.sizeOfArray('idTags');
    while (j < countJ) {
      json.j = j;
      // ...
      j++;
    }

    j = 0;
    countJ = json.sizeOfArray('prefs.backgroundImageScaled');
    while (j < countJ) {
      json.j = j;
      width = json.intOf('prefs.backgroundImageScaled[j].width');
      height = json.intOf('prefs.backgroundImageScaled[j].height');
      url = json.stringOf('prefs.backgroundImageScaled[j].url');
      j++;
    }

    j = 0;
    countJ = json.sizeOfArray('memberships');
    while (j < countJ) {
      json.j = j;
      id = json.stringOf('memberships[j].id');
      idMember = json.stringOf('memberships[j].idMember');
      memberType = json.stringOf('memberships[j].memberType');
      json.boolOf('memberships[j].unconfirmed');
      json.boolOf('memberships[j].deactivated');
      j++;
    }

    i++;
  }
}