Sample code for 30+ languages & platforms
Xojo Plugin

Get Tasks for User

See more Microsoft Tasks and Plans Examples

Demonstrates how to retrieve a list of plannertask objects assigned to a User.

See https://docs.microsoft.com/en-us/graph/api/planneruser-list-tasks?view=graph-rest-1.0 for more information.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim http As New Chilkat.Http

// The Microsoft Planner REST API requires an OAuth2 token with the Group.ReadWrite.All scope.
// Use your previously obtained access token as shown here:
//    Get Microsoft Graph OAuth2 Access Token with Group.ReadWrite.All scope.

Dim jsonToken As New Chilkat.JsonObject
success = jsonToken.LoadFile("qa_data/tokens/msGraphGroup.json")
If (success = False) Then
    System.DebugLog(jsonToken.LastErrorText)
    Return
End If

http.AuthToken = jsonToken.StringOf("access_token")

// Send a GET request to https://graph.microsoft.com/v1.0/me/planner/tasks
Dim strResponse As String
strResponse = http.QuickGetStr("https://graph.microsoft.com/v1.0/me/planner/tasks")
If (http.LastMethodSuccess = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim json As New Chilkat.JsonObject
success = json.Load(strResponse)
json.EmitCompact = False

If (http.LastStatus <> 200) Then
    System.DebugLog(json.Emit())
    System.DebugLog("Failed, response status code = " + Str(http.LastStatus))
    Return
End If

System.DebugLog(json.Emit())

// Sample output:
// (See parsing code below..)

// {
//   "value": [
//     {
//       "createdBy": {
//         "user": {
//           "id": "6463a5ce-2119-4198-9f2a-628761df4a62"
//         }
//       },
//       "planId": "xqQg5FS2LkCp935s-FIFm2QAFkHM",
//       "bucketId": "gcrYAaAkgU2EQUvpkNNXLGQAGTtu",
//       "title": "title-value",
//       "orderHint": "9223370609546166567W",
//       "assigneePriority": "90057581\"",
//       "createdDateTime": "2015-03-25T18:36:49.2407981Z",
//       "assignments": {
//         "fbab97d0-4932-4511-b675-204639209557": {
//           "@odata.type": "#microsoft.graph.plannerAssignment",
//           "assignedBy": {
//             "user": {
//               "id": "1e9955d2-6acd-45bf-86d3-b546fdc795eb"
//             }
//           },
//           "assignedDateTime": "2015-03-25T18:38:21.956Z",
//           "orderHint": "RWk1"
//          }
//       },
//       "id":"01gzSlKkIUSUl6DF_EilrmQAKDhh"
//     }
//   ]
// }

Dim i As Int32
Dim count_i As Int32
Dim createdByUserId As String
Dim planId As String
Dim bucketId As String
Dim title As String
Dim orderHint As String
Dim assigneePriority As String
Dim createdDateTime As String
Dim assignments_odataType As String
Dim assignmentsAssignedByUserId As String
Dim assignmentsAssignedDateTime As String
Dim assignmentsOrderHint As String
Dim id As String

Dim jsonA As New Chilkat.JsonObject
Dim jsonUserA As New Chilkat.JsonObject

i = 0
count_i = json.SizeOfArray("value")
While i < count_i
    json.I = i
    createdByUserId = json.StringOf("value[i].createdBy.user.id")
    planId = json.StringOf("value[i].planId")
    bucketId = json.StringOf("value[i].bucketId")
    title = json.StringOf("value[i].title")
    orderHint = json.StringOf("value[i].orderHint")
    assigneePriority = json.StringOf("value[i].assigneePriority")
    createdDateTime = json.StringOf("value[i].createdDateTime")

    success = json.ObjectOf2("value[i].assignments",jsonA)

    Dim userId As String
    userId = jsonA.NameAt(0)

    success = jsonA.ObjectOf2(userId,jsonUserA)

    assignments_odataType = jsonUserA.StringOf("""@odata.type""")
    assignmentsAssignedByUserId = jsonUserA.StringOf("assignedBy.user.id")
    assignmentsAssignedDateTime = jsonUserA.StringOf("assignedDateTime")
    assignmentsOrderHint = jsonUserA.StringOf("orderHint")

    id = json.StringOf("value[i].id")
    i = i + 1
Wend

System.DebugLog("Success.")