Visual FoxPro
Visual FoxPro
Frame.io - Create a Folder
See more Frame.io Examples
Create a folder asset as a child to the root_asset_id.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJson
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcTeam_id
LOCAL lnPublic_item_count
LOCAL lcProperties
LOCAL lcDeleted_at
LOCAL lcFps
LOCAL lcRating
LOCAL lcDescription
LOCAL lcUpdated_at
LOCAL lcCover_asset_id
LOCAL lcArchive_scheduled_at
LOCAL lcSubtitle_tracks
LOCAL lcIndex
LOCAL lnItem_count
LOCAL lcAccount_id
LOCAL lcName
LOCAL lcChecksums
LOCAL lcAudio_tracks
LOCAL lcDuration
LOCAL lcLabel
LOCAL lnIs_session_watermarked
LOCAL lcParent_id
LOCAL lnVersions
LOCAL lcProject_id
LOCAL lcResource_id
LOCAL lnV_private
LOCAL lnFrames
LOCAL lcAutoversion_id
LOCAL lcV_type
LOCAL lcUploaded_at
LOCAL lcCreator_id
LOCAL lnUser_permissionsCan_download
LOCAL lnUser_permissionsCan_modify_template
LOCAL lnUser_permissionsCan_public_share_presentation
LOCAL lnUser_permissionsCan_public_share_review_link
LOCAL lnUser_permissionsCan_share_downloadable_presentation
LOCAL lnUser_permissionsCan_share_downloadable_review_link
LOCAL lnUser_permissionsCan_share_unwatermarked_presentation
LOCAL lnUser_permissionsCan_share_unwatermarked_review_link
LOCAL lnShared
LOCAL lnIs_360
LOCAL lnComment_count
LOCAL lcArchived_at
LOCAL lcFiletype
LOCAL lcId
LOCAL lcHard_deleted_at
LOCAL lnCopy
LOCAL lnIs_hls_required
LOCAL lcArchive_status
LOCAL lcInserted_at
LOCAL lnFilesize
lnSuccess = 0
* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loHttp = CreateObject('Chilkat.Http')
* 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"
* }
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("type","folder")
loJson.UpdateString("name","Folder at root")
loHttp.SetRequestHeader("content-type","application/json")
* Adds the "Authorization: Bearer <FRAME_IO_DEV_TOKEN>" header.
loHttp.AuthToken = "<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.
loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST","https://api.frame.io/v2/assets/4ecb383f-71a8-4233-b665-d8f75136f554/children",loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
? loHttp.LastErrorText
RELEASE loHttp
RELEASE loJson
RELEASE loResp
CANCEL
ENDIF
loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0
? "Response Body:"
? loJResp.Emit()
lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
? "Response Header:"
? loResp.Header
? "Failed."
RELEASE loHttp
RELEASE loJson
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJResp
CANCEL
ENDIF
* 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
lcTeam_id = loJResp.StringOf("team_id")
lnPublic_item_count = loJResp.IntOf("public_item_count")
lcProperties = loJResp.StringOf("properties")
lcDeleted_at = loJResp.StringOf("deleted_at")
lcFps = loJResp.StringOf("fps")
lcRating = loJResp.StringOf("rating")
lcDescription = loJResp.StringOf("description")
lcUpdated_at = loJResp.StringOf("updated_at")
lcCover_asset_id = loJResp.StringOf("cover_asset_id")
lcArchive_scheduled_at = loJResp.StringOf("archive_scheduled_at")
lcSubtitle_tracks = loJResp.StringOf("subtitle_tracks")
lcIndex = loJResp.StringOf("index")
lnItem_count = loJResp.IntOf("item_count")
lcAccount_id = loJResp.StringOf("account_id")
lcName = loJResp.StringOf("name")
lcChecksums = loJResp.StringOf("checksums")
lcAudio_tracks = loJResp.StringOf("audio_tracks")
lcDuration = loJResp.StringOf("duration")
lcLabel = loJResp.StringOf("label")
lnIs_session_watermarked = loJResp.BoolOf("is_session_watermarked")
lcParent_id = loJResp.StringOf("parent_id")
lnVersions = loJResp.IntOf("versions")
lcProject_id = loJResp.StringOf("project_id")
lcResource_id = loJResp.StringOf("resource_id")
lnV_private = loJResp.BoolOf("private")
lnFrames = loJResp.IntOf("frames")
lcAutoversion_id = loJResp.StringOf("autoversion_id")
lcV_type = loJResp.StringOf("type")
lcUploaded_at = loJResp.StringOf("uploaded_at")
lcCreator_id = loJResp.StringOf("creator_id")
lnUser_permissionsCan_download = loJResp.BoolOf("user_permissions.can_download")
lnUser_permissionsCan_modify_template = loJResp.BoolOf("user_permissions.can_modify_template")
lnUser_permissionsCan_public_share_presentation = loJResp.BoolOf("user_permissions.can_public_share_presentation")
lnUser_permissionsCan_public_share_review_link = loJResp.BoolOf("user_permissions.can_public_share_review_link")
lnUser_permissionsCan_share_downloadable_presentation = loJResp.BoolOf("user_permissions.can_share_downloadable_presentation")
lnUser_permissionsCan_share_downloadable_review_link = loJResp.BoolOf("user_permissions.can_share_downloadable_review_link")
lnUser_permissionsCan_share_unwatermarked_presentation = loJResp.BoolOf("user_permissions.can_share_unwatermarked_presentation")
lnUser_permissionsCan_share_unwatermarked_review_link = loJResp.BoolOf("user_permissions.can_share_unwatermarked_review_link")
lnShared = loJResp.BoolOf("shared")
lnIs_360 = loJResp.BoolOf("is_360")
lcV_type = loJResp.StringOf("_type")
lnComment_count = loJResp.IntOf("comment_count")
lcArchived_at = loJResp.StringOf("archived_at")
lcFiletype = loJResp.StringOf("filetype")
lcId = loJResp.StringOf("id")
lcHard_deleted_at = loJResp.StringOf("hard_deleted_at")
lnCopy = loJResp.BoolOf("copy")
lnIs_hls_required = loJResp.BoolOf("is_hls_required")
lcArchive_status = loJResp.StringOf("archive_status")
lcInserted_at = loJResp.StringOf("inserted_at")
lnFilesize = loJResp.IntOf("filesize")
RELEASE loHttp
RELEASE loJson
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJResp