Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Frame.io - Create a FolderCreate a folder asset as a child to the root_asset_id. For more information, see https://docs.frame.io/docs/root-asset-ids
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, StringBuilder, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; success: Boolean; json: HCkJsonObject; resp: HCkHttpResponse; sbResponseBody: HCkStringBuilder; jResp: HCkJsonObject; respStatusCode: Integer; team_id: PWideChar; public_item_count: Integer; properties: PWideChar; deleted_at: PWideChar; fps: PWideChar; rating: PWideChar; description: PWideChar; updated_at: PWideChar; cover_asset_id: PWideChar; archive_scheduled_at: PWideChar; subtitle_tracks: PWideChar; index: PWideChar; item_count: Integer; account_id: PWideChar; name: PWideChar; checksums: PWideChar; audio_tracks: PWideChar; duration: PWideChar; label: PWideChar; is_session_watermarked: Boolean; parent_id: PWideChar; versions: Integer; project_id: PWideChar; resource_id: PWideChar; v_private: Boolean; frames: Integer; autoversion_id: PWideChar; v_type: PWideChar; uploaded_at: PWideChar; creator_id: PWideChar; user_permissionsCan_download: Boolean; user_permissionsCan_modify_template: Boolean; user_permissionsCan_public_share_presentation: Boolean; user_permissionsCan_public_share_review_link: Boolean; user_permissionsCan_share_downloadable_presentation: Boolean; user_permissionsCan_share_downloadable_review_link: Boolean; user_permissionsCan_share_unwatermarked_presentation: Boolean; user_permissionsCan_share_unwatermarked_review_link: Boolean; shared: Boolean; is_360: Boolean; comment_count: Integer; archived_at: PWideChar; filetype: PWideChar; id: PWideChar; hard_deleted_at: PWideChar; copy: Boolean; is_hls_required: Boolean; archive_status: PWideChar; inserted_at: PWideChar; filesize: Integer; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // Implements the following CURL command: // curl --request POST \ // --url https://api.frame.io/v2/assets/<root_asset_id>/children \ // --header 'authorization: Bearer <FRAME_IO_DEV_TOKEN>' \ // --header 'content-type: application/json' \ // --data '{"type":"folder", "name": "Folder at root"}' // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON // The following JSON is sent in the request body. // { // "type": "folder", // "name": "Folder at root" // } json := CkJsonObject_Create(); CkJsonObject_UpdateString(json,'type','folder'); CkJsonObject_UpdateString(json,'name','Folder at root'); CkHttp_SetRequestHeader(http,'content-type','application/json'); // Adds the "Authorization: Bearer <FRAME_IO_DEV_TOKEN>" header. CkHttp_putAuthToken(http,'<FRAME_IO_DEV_TOKEN>'); // Our root_asset_id = 4ecb383f-71a8-4233-b665-d8f75136f554 // You'll need to modify the following line to use your root asset ID. resp := CkHttp_PostJson3(http,'https://api.frame.io/v2/assets/4ecb383f-71a8-4233-b665-d8f75136f554/children','application/json',json); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; sbResponseBody := CkStringBuilder_Create(); CkHttpResponse_GetBodySb(resp,sbResponseBody); jResp := CkJsonObject_Create(); CkJsonObject_LoadSb(jResp,sbResponseBody); CkJsonObject_putEmitCompact(jResp,False); Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(CkJsonObject__emit(jResp)); respStatusCode := CkHttpResponse_getStatusCode(resp); Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(CkHttpResponse__header(resp)); Memo1.Lines.Add('Failed.'); CkHttpResponse_Dispose(resp); Exit; end; CkHttpResponse_Dispose(resp); // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "team_id": "95a5fbad-688d-46fc-aef1-2f011dd76c10", // "public_item_count": 0, // "properties": null, // "deleted_at": null, // "fps": null, // "rating": null, // "description": null, // "updated_at": "2020-08-18T03:31:59.699011Z", // "cover_asset_id": null, // "archive_scheduled_at": null, // "subtitle_tracks": null, // "index": -7.0, // "item_count": 0, // "account_id": "b1cd046b-a3bf-4ef8-81a6-0afd74ecc455", // "name": "FolderA", // "checksums": null, // "audio_tracks": null, // "duration": null, // "label": "none", // "is_session_watermarked": false, // "parent_id": "4ecb383f-71a8-4233-b665-d8f75136f554", // "versions": 0, // "project_id": "e76653c4-6cc0-4c47-936b-f7885b477dc0", // "resource_id": null, // "private": false, // "frames": 0, // "autoversion_id": null, // "type": "folder", // "uploaded_at": "2020-08-18T03:31:59.697174Z", // "creator_id": "34b4f98a-7cc9-4159-8f46-c7c3d837fc6f", // "user_permissions": { // "can_download": true, // "can_modify_template": false, // "can_public_share_presentation": true, // "can_public_share_review_link": true, // "can_share_downloadable_presentation": true, // "can_share_downloadable_review_link": true, // "can_share_unwatermarked_presentation": true, // "can_share_unwatermarked_review_link": true // }, // "shared": false, // "is_360": false, // "_type": "folder", // "comment_count": 0, // "archived_at": null, // "filetype": null, // "id": "039845e8-bffe-4d6b-88d3-c780bae06342", // "hard_deleted_at": null, // "copy": false, // "is_hls_required": false, // "archive_status": null, // "inserted_at": "2020-08-18T03:31:59.699011Z", // "filesize": 0 // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON team_id := CkJsonObject__stringOf(jResp,'team_id'); public_item_count := CkJsonObject_IntOf(jResp,'public_item_count'); properties := CkJsonObject__stringOf(jResp,'properties'); deleted_at := CkJsonObject__stringOf(jResp,'deleted_at'); fps := CkJsonObject__stringOf(jResp,'fps'); rating := CkJsonObject__stringOf(jResp,'rating'); description := CkJsonObject__stringOf(jResp,'description'); updated_at := CkJsonObject__stringOf(jResp,'updated_at'); cover_asset_id := CkJsonObject__stringOf(jResp,'cover_asset_id'); archive_scheduled_at := CkJsonObject__stringOf(jResp,'archive_scheduled_at'); subtitle_tracks := CkJsonObject__stringOf(jResp,'subtitle_tracks'); index := CkJsonObject__stringOf(jResp,'index'); item_count := CkJsonObject_IntOf(jResp,'item_count'); account_id := CkJsonObject__stringOf(jResp,'account_id'); name := CkJsonObject__stringOf(jResp,'name'); checksums := CkJsonObject__stringOf(jResp,'checksums'); audio_tracks := CkJsonObject__stringOf(jResp,'audio_tracks'); duration := CkJsonObject__stringOf(jResp,'duration'); label := CkJsonObject__stringOf(jResp,'label'); is_session_watermarked := CkJsonObject_BoolOf(jResp,'is_session_watermarked'); parent_id := CkJsonObject__stringOf(jResp,'parent_id'); versions := CkJsonObject_IntOf(jResp,'versions'); project_id := CkJsonObject__stringOf(jResp,'project_id'); resource_id := CkJsonObject__stringOf(jResp,'resource_id'); v_private := CkJsonObject_BoolOf(jResp,'private'); frames := CkJsonObject_IntOf(jResp,'frames'); autoversion_id := CkJsonObject__stringOf(jResp,'autoversion_id'); v_type := CkJsonObject__stringOf(jResp,'type'); uploaded_at := CkJsonObject__stringOf(jResp,'uploaded_at'); creator_id := CkJsonObject__stringOf(jResp,'creator_id'); user_permissionsCan_download := CkJsonObject_BoolOf(jResp,'user_permissions.can_download'); user_permissionsCan_modify_template := CkJsonObject_BoolOf(jResp,'user_permissions.can_modify_template'); user_permissionsCan_public_share_presentation := CkJsonObject_BoolOf(jResp,'user_permissions.can_public_share_presentation'); user_permissionsCan_public_share_review_link := CkJsonObject_BoolOf(jResp,'user_permissions.can_public_share_review_link'); user_permissionsCan_share_downloadable_presentation := CkJsonObject_BoolOf(jResp,'user_permissions.can_share_downloadable_presentation'); user_permissionsCan_share_downloadable_review_link := CkJsonObject_BoolOf(jResp,'user_permissions.can_share_downloadable_review_link'); user_permissionsCan_share_unwatermarked_presentation := CkJsonObject_BoolOf(jResp,'user_permissions.can_share_unwatermarked_presentation'); user_permissionsCan_share_unwatermarked_review_link := CkJsonObject_BoolOf(jResp,'user_permissions.can_share_unwatermarked_review_link'); shared := CkJsonObject_BoolOf(jResp,'shared'); is_360 := CkJsonObject_BoolOf(jResp,'is_360'); v_type := CkJsonObject__stringOf(jResp,'_type'); comment_count := CkJsonObject_IntOf(jResp,'comment_count'); archived_at := CkJsonObject__stringOf(jResp,'archived_at'); filetype := CkJsonObject__stringOf(jResp,'filetype'); id := CkJsonObject__stringOf(jResp,'id'); hard_deleted_at := CkJsonObject__stringOf(jResp,'hard_deleted_at'); copy := CkJsonObject_BoolOf(jResp,'copy'); is_hls_required := CkJsonObject_BoolOf(jResp,'is_hls_required'); archive_status := CkJsonObject__stringOf(jResp,'archive_status'); inserted_at := CkJsonObject__stringOf(jResp,'inserted_at'); filesize := CkJsonObject_IntOf(jResp,'filesize'); CkHttp_Dispose(http); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.