DataFlex Google Drive: List Team Drives

Back to Index

Lists the user's Team Drives.

Documentation: https://developers.google.com/drive/v3/reference/teamdrives/list


Use ChilkatAx-9.5.0-win32.pkg

Procedure Test
    Handle hoRest
    Boolean iSuccess
    Variant vOauth2
    Handle hoOauth2
    Variant vSbJson
    Handle hoSbJson
    Handle hoJson
    String sKind
    Integer i
    Integer iCount_i
    String sId
    String sName
    String sTemp1
    Integer iTemp1

    Get Create (RefClass(cComChilkatRest)) To hoRest
    If (Not(IsComObjectCreated(hoRest))) Begin
        Send CreateComObject of hoRest
    End

    //   Provide a previously obtained OAuth2 access token.
    Get Create (RefClass(cComChilkatOAuth2)) To hoOauth2
    If (Not(IsComObjectCreated(hoOauth2))) Begin
        Send CreateComObject of hoOauth2
    End
    Set ComAccessToken Of hoOauth2 To "OAUTH2_ACCESS_TOKEN"
    Get pvComObject of hoOauth2 to vOauth2
    Get ComSetAuthOAuth2 Of hoRest vOauth2 To iSuccess

    Get ComConnect Of hoRest "www.googleapis.com" 443 True True To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson
    If (Not(IsComObjectCreated(hoSbJson))) Begin
        Send CreateComObject of hoSbJson
    End
    Get pvComObject of hoSbJson to vSbJson
    Get ComFullRequestNoBodySb Of hoRest "GET" "/drive/v3/teamdrives" vSbJson To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComResponseStatusCode Of hoRest To iTemp1
    If (iTemp1 <> 200) Begin
        Get ComResponseStatusCode Of hoRest To iTemp1
        Showln "Received error response code: " iTemp1
        Showln "Response body:"
        Get ComGetAsString Of hoSbJson To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get pvComObject of hoSbJson to vSbJson
    Get ComLoadSb Of hoJson vSbJson To iSuccess

    //  The following code parses the JSON response.
    //  A sample JSON response is shown below the sample code.

    Get ComStringOf Of hoJson "kind" To sKind
    Move 0 To i
    Get ComSizeOfArray Of hoJson "teamDrives" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJson To i
        Get ComStringOf Of hoJson "teamDrives[i].kind" To sKind
        Get ComStringOf Of hoJson "teamDrives[i].id" To sId
        Get ComStringOf Of hoJson "teamDrives[i].name" To sName
        Move i + 1 To i
    Loop

    Showln "Example Completed."


End_Procedure

Sample JSON Response Body

{
  "kind": "drive#teamDriveList",
  "teamDrives": [
    {
      "kind": "drive#teamDrive",
      "id": "0AEd3EhGff2SaUk9PVA",
      "name": "Project Pegasus"
    },
    {
      "kind": "drive#teamDrive",
      "id": "0AGO-j6qTGkqgUk9PVA",
      "name": "Project Unicorn"
    }
  ]
}