Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oJsonToken
LOCAL oOauth1
LOCAL oRest
LOCAL nBAutoReconnect
LOCAL cResponseBody
LOCAL oJarr
LOCAL i
LOCAL nCount_i
LOCAL oJson
LOCAL cName
LOCAL cDesc
LOCAL cDescData
LOCAL nClosed
LOCAL cIdOrganization
LOCAL cLimits
LOCAL cPinned
LOCAL cShortLink
LOCAL cDateLastActivity
LOCAL cDatePluginDisable
LOCAL cCreationMethod
LOCAL cIxUpdate
LOCAL cId
LOCAL nStarred
LOCAL cUrl
LOCAL cPrefsPermissionLevel
LOCAL cPrefsVoting
LOCAL cPrefsComments
LOCAL cPrefsInvitations
LOCAL nPrefsSelfJoin
LOCAL nPrefsCardCovers
LOCAL cPrefsCardAging
LOCAL nPrefsCalendarFeedEnabled
LOCAL cPrefsBackground
LOCAL cPrefsBackgroundImage
LOCAL nPrefsBackgroundTile
LOCAL cPrefsBackgroundBrightness
LOCAL cPrefsBackgroundBottomColor
LOCAL cPrefsBackgroundTopColor
LOCAL nPrefsCanBePublic
LOCAL nPrefsCanBeEnterprise
LOCAL nPrefsCanBeOrg
LOCAL nPrefsCanBePrivate
LOCAL nPrefsCanInvite
LOCAL nSubscribed
LOCAL cLabelNamesGreen
LOCAL cLabelNamesYellow
LOCAL cLabelNamesOrange
LOCAL cLabelNamesRed
LOCAL cLabelNamesPurple
LOCAL cLabelNamesBlue
LOCAL cLabelNamesSky
LOCAL cLabelNamesLime
LOCAL cLabelNamesPink
LOCAL cLabelNamesBlack
LOCAL cDateLastView
LOCAL cShortUrl
LOCAL cPrefsBackgroundImageScaled
LOCAL cPrefsBackgroundColor
LOCAL j
LOCAL nCount_j
LOCAL nWidth
LOCAL nHeight
LOCAL cIdMember
LOCAL cMemberType
LOCAL nUnconfirmed
LOCAL nDeactivated

nSuccess := 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.
oJsonToken := CreateObject("Chilkat.JsonObject")
nSuccess := oJsonToken:LoadFile("qa_data/tokens/trello.json")

oOauth1 := CreateObject("Chilkat.OAuth1")
oOauth1:ConsumerKey := "TRELLO_CONSUMER_KEY"
oOauth1:ConsumerSecret := "TRELLO_CONSUMER_SECRET"
oOauth1:Token := oJsonToken:StringOf("oauth_token")
oOauth1:TokenSecret := oJsonToken:StringOf("oauth_token_secret")

oRest := CreateObject("Chilkat.Rest")

//  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.
nBAutoReconnect := 1
nSuccess := oRest:Connect("api.trello.com", 443, 1, nBAutoReconnect)
IF (nSuccess != 1)
    ? oRest:LastErrorText
    oJsonToken:destroy()
    oOauth1:destroy()
    oRest:destroy()
    RETURN
ENDIF

oRest:SetAuthOAuth1(oOauth1, 0)

oRest:AddQueryParam("filter", "all")
oRest:AddQueryParam("fields", "all")
oRest:AddQueryParam("lists", "none")
oRest:AddQueryParam("memberships", "normal")
oRest:AddQueryParam("organization", "false")
oRest:AddQueryParam("organization_fields", "name,displayName")

oRest:AddHeader("Accept", "application/json")

cResponseBody := oRest:FullRequestNoBody("GET", "/1/members/member_id/boards")
IF (oRest:LastMethodSuccess != 1)
    ? oRest:LastErrorText
    oJsonToken:destroy()
    oOauth1:destroy()
    oRest:destroy()
    RETURN
ENDIF

//  We should expect a 200 response if successful.
IF (oRest:ResponseStatusCode != 200)
    ? "Request Header: "
    ? oRest:LastRequestHeader
    ? "----"
    ? "Response StatusCode = " + Str(oRest:ResponseStatusCode)
    ? "Response StatusLine: " + oRest:ResponseStatusText
    ? "Response Header:"
    ? oRest:ResponseHeader
    ? cResponseBody
    oJsonToken:destroy()
    oOauth1:destroy()
    oRest:destroy()
    RETURN
ENDIF

oJarr := CreateObject("Chilkat.JsonArray")
oJarr:Load(cResponseBody)
oJarr:EmitCompact := 0
? oJarr:Emit()
? "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
//        }
//      ]
//    }
//  ]

i := 0
nCount_i := oJarr:Size
DO WHILE i < nCount_i
    oJson := oJarr:ObjectAt(i)
    cName := oJson:StringOf("name")
    cDesc := oJson:StringOf("desc")
    cDescData := oJson:StringOf("descData")
    nClosed := oJson:BoolOf("closed")
    cIdOrganization := oJson:StringOf("idOrganization")
    cLimits := oJson:StringOf("limits")
    cPinned := oJson:StringOf("pinned")
    cShortLink := oJson:StringOf("shortLink")
    cDateLastActivity := oJson:StringOf("dateLastActivity")
    cDatePluginDisable := oJson:StringOf("datePluginDisable")
    cCreationMethod := oJson:StringOf("creationMethod")
    cIxUpdate := oJson:StringOf("ixUpdate")
    cId := oJson:StringOf("id")
    nStarred := oJson:BoolOf("starred")
    cUrl := oJson:StringOf("url")
    cPrefsPermissionLevel := oJson:StringOf("prefs.permissionLevel")
    cPrefsVoting := oJson:StringOf("prefs.voting")
    cPrefsComments := oJson:StringOf("prefs.comments")
    cPrefsInvitations := oJson:StringOf("prefs.invitations")
    nPrefsSelfJoin := oJson:BoolOf("prefs.selfJoin")
    nPrefsCardCovers := oJson:BoolOf("prefs.cardCovers")
    cPrefsCardAging := oJson:StringOf("prefs.cardAging")
    nPrefsCalendarFeedEnabled := oJson:BoolOf("prefs.calendarFeedEnabled")
    cPrefsBackground := oJson:StringOf("prefs.background")
    cPrefsBackgroundImage := oJson:StringOf("prefs.backgroundImage")
    nPrefsBackgroundTile := oJson:BoolOf("prefs.backgroundTile")
    cPrefsBackgroundBrightness := oJson:StringOf("prefs.backgroundBrightness")
    cPrefsBackgroundBottomColor := oJson:StringOf("prefs.backgroundBottomColor")
    cPrefsBackgroundTopColor := oJson:StringOf("prefs.backgroundTopColor")
    nPrefsCanBePublic := oJson:BoolOf("prefs.canBePublic")
    nPrefsCanBeEnterprise := oJson:BoolOf("prefs.canBeEnterprise")
    nPrefsCanBeOrg := oJson:BoolOf("prefs.canBeOrg")
    nPrefsCanBePrivate := oJson:BoolOf("prefs.canBePrivate")
    nPrefsCanInvite := oJson:BoolOf("prefs.canInvite")
    nSubscribed := oJson:BoolOf("subscribed")
    cLabelNamesGreen := oJson:StringOf("labelNames.green")
    cLabelNamesYellow := oJson:StringOf("labelNames.yellow")
    cLabelNamesOrange := oJson:StringOf("labelNames.orange")
    cLabelNamesRed := oJson:StringOf("labelNames.red")
    cLabelNamesPurple := oJson:StringOf("labelNames.purple")
    cLabelNamesBlue := oJson:StringOf("labelNames.blue")
    cLabelNamesSky := oJson:StringOf("labelNames.sky")
    cLabelNamesLime := oJson:StringOf("labelNames.lime")
    cLabelNamesPink := oJson:StringOf("labelNames.pink")
    cLabelNamesBlack := oJson:StringOf("labelNames.black")
    cDateLastView := oJson:StringOf("dateLastView")
    cShortUrl := oJson:StringOf("shortUrl")
    cPrefsBackgroundImageScaled := oJson:StringOf("prefs.backgroundImageScaled")
    cPrefsBackgroundColor := oJson:StringOf("prefs.backgroundColor")
    j := 0
    nCount_j := oJson:SizeOfArray("powerUps")
    DO WHILE j < nCount_j
        oJson:J := j
        //  ...
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("idTags")
    DO WHILE j < nCount_j
        oJson:J := j
        //  ...
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("prefs.backgroundImageScaled")
    DO WHILE j < nCount_j
        oJson:J := j
        nWidth := oJson:IntOf("prefs.backgroundImageScaled[j].width")
        nHeight := oJson:IntOf("prefs.backgroundImageScaled[j].height")
        cUrl := oJson:StringOf("prefs.backgroundImageScaled[j].url")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJson:SizeOfArray("memberships")
    DO WHILE j < nCount_j
        oJson:J := j
        cId := oJson:StringOf("memberships[j].id")
        cIdMember := oJson:StringOf("memberships[j].idMember")
        cMemberType := oJson:StringOf("memberships[j].memberType")
        nUnconfirmed := oJson:BoolOf("memberships[j].unconfirmed")
        nDeactivated := oJson:BoolOf("memberships[j].deactivated")
        j := j + 1
    ENDDO
    oJson:destroy()
    i := i + 1
ENDDO

oJsonToken:destroy()
oOauth1:destroy()
oRest:destroy()
oJarr:destroy()