![]() ![]() The BaseElements plugin function to do this isīE_Curl_Set_Option ( "CURLOPT_CUSTOMREQUEST" "PROPFIND" ) The option to set is called CURLOPT_CUSTOMREQUEST and we have to set it to the value PROPFIND. The docs indicate that we need to perform a PROFIND request: to do the we need to set a cURL option before calling our GET request. The first step in the process is to retrieve the list of files and folders hosted in our account. We simply pass our username and password with the Get the Files and Folders List The Nextcloud API provides only Basic Auth without any API keys or Token. If you're not familiar with cURL, it is a library used to transfer data using various protocols and it is used in the HTTP functions in the BaseElements plugin. The implementation of these web services are quite different from the ones we covered in the previous posts ( Dropbox, Zendesk and Mailchimp).įirst of all the format used for the response is not JSON but XML and in the case of the webDAV API we have to define a cURL option to retrieve the field list. the Share API to share the files and folders.the Provisioning API to manage the users.the webDAV API to find files and folders.Nextcloud has more than one API (with different implementations) and for our project we'll need 3 different services: The idea is the same: we want to share a folder or file in Nextcloud from within a FileMaker solution. I didn't know much about the Nextcloud API and despite the documentation being somehow fragmented, the interaction seemed possible using the BaseElements plugin. ConvertFromFileMakerPath ( $filemakerPath PosixPath ) //Convert FileMaker to Mac/Linux Plugin PathĬonvertFromFileMakerPath ( $filemakerPath WinPath ) //Convert FileMaker to Windows Plugin PathĬonvertToFileMakerPath ( $pluginPath PosixPath ) //Convert Mac/Linux Plugin Path to file://Mac path.ĬonvertToFileMakerPath ( $pluginPath WinPath ) //Convert Windows Plugin Path to file://Windows path.This integration was a request from a sponsor, who uses Nextcloud in a similar way to the Dropbox API example we posted recently. A "plugin" path is the same as the PosixPath for Mac or Linux, and the WinPath for windows operating systems. The best way to convert paths is to use the native FileMaker functions ConvertFromFileMakerPath and ConvertToFileMakerPath. ![]() Note the consistency of the type of slash used, vs the difference in \ vs / in Windows/Mac. Windows : file:///C:/Users/John%20Smith/Documents/test.xlsx FileMaker Path Examples Mac : file:///Volumes/Clients/contacts.txt ![]() You can then adjust this path to suit whatever location you need, or to get an example of the difference between selecting a file on the desktop and running the Get ( DesktopFolder ) function. This will return an example of the sort of path used by the function. To get an example of the sorts of paths that the plugin uses, use the BE_SelectFile function in the Data Viewer, and choose a file with a known path. Windows : C:\Users\John Smith\Documents\test.xlsx Plugin Paths Examples Mac : /Users/John Smith/Documents/test.xlsx" So if you're mixing and matching FileMaker paths and plugin paths, you will need to convert them between the types in order to use them in other places. These file: prefixes that you get from things like the Get ( FilePath ) function and others, are unique to FileMaker and don't work anywhere else other than FileMaker itself, including not in the BE plugin. On the Mac, they usually start with /Volumes or /Users and on windows will be something like C:\Folder\Path.įileMaker paths often start with file: or filemac: and these WILL NOT work in the plugin. The paths used by the plugin are Operating System paths. Please note :įileMaker paths and plugin paths are not the same thing. Lots of the BE plugin functions use paths in the parameters or in values they return. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |