Perl
Perl
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 Perl Downloads
use chilkat();
$success = 0;
# 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.
$jsonToken = chilkat::CkJsonObject->new();
$success = $jsonToken->LoadFile("qa_data/tokens/trello.json");
$oauth1 = chilkat::CkOAuth1->new();
$oauth1->put_ConsumerKey("TRELLO_CONSUMER_KEY");
$oauth1->put_ConsumerSecret("TRELLO_CONSUMER_SECRET");
$oauth1->put_Token($jsonToken->stringOf("oauth_token"));
$oauth1->put_TokenSecret($jsonToken->stringOf("oauth_token_secret"));
$rest = chilkat::CkRest->new();
# 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.
$bAutoReconnect = 1;
$success = $rest->Connect("api.trello.com",443,1,$bAutoReconnect);
if ($success != 1) {
print $rest->lastErrorText() . "\r\n";
exit;
}
$rest->SetAuthOAuth1($oauth1,0);
$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");
$responseBody = $rest->fullRequestNoBody("GET","/1/members/member_id/boards");
if ($rest->get_LastMethodSuccess() != 1) {
print $rest->lastErrorText() . "\r\n";
exit;
}
# We should expect a 200 response if successful.
if ($rest->get_ResponseStatusCode() != 200) {
print "Request Header: " . "\r\n";
print $rest->lastRequestHeader() . "\r\n";
print "----" . "\r\n";
print "Response StatusCode = " . $rest->get_ResponseStatusCode() . "\r\n";
print "Response StatusLine: " . $rest->responseStatusText() . "\r\n";
print "Response Header:" . "\r\n";
print $rest->responseHeader() . "\r\n";
print $responseBody . "\r\n";
exit;
}
$jarr = chilkat::CkJsonArray->new();
$jarr->Load($responseBody);
$jarr->put_EmitCompact(0);
print $jarr->emit() . "\r\n";
print "Success." . "\r\n";
# 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
# }
# ]
# }
# ]
$i = 0;
$count_i = $jarr->get_Size();
while ($i < $count_i) {
# json is a JsonObject
$json = $jarr->ObjectAt($i);
$name = $json->stringOf("name");
$desc = $json->stringOf("desc");
$descData = $json->stringOf("descData");
$closed = $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");
$starred = $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");
$prefsSelfJoin = $json->BoolOf("prefs.selfJoin");
$prefsCardCovers = $json->BoolOf("prefs.cardCovers");
$prefsCardAging = $json->stringOf("prefs.cardAging");
$prefsCalendarFeedEnabled = $json->BoolOf("prefs.calendarFeedEnabled");
$prefsBackground = $json->stringOf("prefs.background");
$prefsBackgroundImage = $json->stringOf("prefs.backgroundImage");
$prefsBackgroundTile = $json->BoolOf("prefs.backgroundTile");
$prefsBackgroundBrightness = $json->stringOf("prefs.backgroundBrightness");
$prefsBackgroundBottomColor = $json->stringOf("prefs.backgroundBottomColor");
$prefsBackgroundTopColor = $json->stringOf("prefs.backgroundTopColor");
$prefsCanBePublic = $json->BoolOf("prefs.canBePublic");
$prefsCanBeEnterprise = $json->BoolOf("prefs.canBeEnterprise");
$prefsCanBeOrg = $json->BoolOf("prefs.canBeOrg");
$prefsCanBePrivate = $json->BoolOf("prefs.canBePrivate");
$prefsCanInvite = $json->BoolOf("prefs.canInvite");
$subscribed = $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;
$count_j = $json->SizeOfArray("powerUps");
while ($j < $count_j) {
$json->put_J($j);
# ...
$j = $j + 1;
}
$j = 0;
$count_j = $json->SizeOfArray("idTags");
while ($j < $count_j) {
$json->put_J($j);
# ...
$j = $j + 1;
}
$j = 0;
$count_j = $json->SizeOfArray("prefs.backgroundImageScaled");
while ($j < $count_j) {
$json->put_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 + 1;
}
$j = 0;
$count_j = $json->SizeOfArray("memberships");
while ($j < $count_j) {
$json->put_J($j);
$id = $json->stringOf("memberships[j].id");
$idMember = $json->stringOf("memberships[j].idMember");
$memberType = $json->stringOf("memberships[j].memberType");
$unconfirmed = $json->BoolOf("memberships[j].unconfirmed");
$deactivated = $json->BoolOf("memberships[j].deactivated");
$j = $j + 1;
}
$i = $i + 1;
}