Sample code for 30+ languages & platforms
DataFlex

OSS List Buckets (Alibaba Cloud)

See more Alibaba Cloud OSS Examples

Demonstrates how to list AliCloud OSS buckets.

The Chilkat S3 functions in the HTTP class are compatible with Alibaba Cloud's OSS service.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sBucketsXml
    Handle hoXml
    String sCreationDate
    String sExtranetEndpoint
    String sIntranetEndpoint
    String sLocation
    String sName
    String sRegion
    String sStorageClass
    String sListAllMyBucketsResult_xmlns
    String sID
    String sDisplayName
    Integer i
    Integer iCount_i
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Insert your AccessKey ID here:
    Set ComAwsAccessKey Of hoHttp To "access-key"

    // Insert your AccessKey Secret here:
    Set ComAwsSecretKey Of hoHttp To "secret-key"

    // See Alibaba Object Storage Service Regions and Endpoints
    Set ComAwsEndpoint Of hoHttp To "oss-us-west-1.aliyuncs.com"

    Get ComS3_ListBuckets Of hoHttp To sBucketsXml

    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 <> True) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatXml)) To hoXml
    If (Not(IsComObjectCreated(hoXml))) Begin
        Send CreateComObject of hoXml
    End
    Get ComLoadXml Of hoXml sBucketsXml To iSuccess
    Get ComGetXml Of hoXml To sTemp1
    Showln sTemp1

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

    // Sample output:

    // <?xml version="1.0" encoding="UTF-8"?>
    // <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    //     <Owner>
    //         <ID>5035535379748121</ID>
    //         <DisplayName>5035535379748121</DisplayName>
    //     </Owner>
    //     <Buckets>
    //         <Bucket>
    //             <Comment/>
    //             <CreationDate>2021-10-28T21:30:56.000Z</CreationDate>
    //             <ExtranetEndpoint>oss-us-east-1.aliyuncs.com</ExtranetEndpoint>
    //             <IntranetEndpoint>oss-us-east-1-internal.aliyuncs.com</IntranetEndpoint>
    //             <Location>oss-us-east-1</Location>
    //             <Name>chilkat</Name>
    //             <Region>us-east-1</Region>
    //             <StorageClass>STANDARD</StorageClass>
    //         </Bucket>
    //         <Bucket>
    //             <Comment/>
    //             <CreationDate>2021-10-29T00:12:54.000Z</CreationDate>
    //             <ExtranetEndpoint>oss-us-west-1.aliyuncs.com</ExtranetEndpoint>
    //             <IntranetEndpoint>oss-us-west-1-internal.aliyuncs.com</IntranetEndpoint>
    //             <Location>oss-us-west-1</Location>
    //             <Name>chilkat-testbucket</Name>
    //             <Region>us-west-1</Region>
    //             <StorageClass>STANDARD</StorageClass>
    //         </Bucket>
    //         <Bucket>
    //             <Comment/>
    //             <CreationDate>2021-10-28T23:52:10.000Z</CreationDate>
    //             <ExtranetEndpoint>oss-us-west-1.aliyuncs.com</ExtranetEndpoint>
    //             <IntranetEndpoint>oss-us-west-1-internal.aliyuncs.com</IntranetEndpoint>
    //             <Location>oss-us-west-1</Location>
    //             <Name>chilkat2</Name>
    //             <Region>us-west-1</Region>
    //             <StorageClass>STANDARD</StorageClass>
    //         </Bucket>
    //     </Buckets>
    // </ListAllMyBucketsResult>

    Get ComGetAttrValue Of hoXml "xmlns" To sListAllMyBucketsResult_xmlns
    Get ComGetChildContent Of hoXml "Owner|ID" To sID
    Get ComGetChildContent Of hoXml "Owner|DisplayName" To sDisplayName
    Move 0 To i
    Get ComNumChildrenHavingTag Of hoXml "Buckets|Bucket" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoXml To i
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|CreationDate" To sCreationDate
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|ExtranetEndpoint" To sExtranetEndpoint
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|IntranetEndpoint" To sIntranetEndpoint
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|Location" To sLocation
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|Name" To sName
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|Region" To sRegion
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|StorageClass" To sStorageClass
        Move (i + 1) To i
    Loop



End_Procedure