Hello Alessio, I don't have time right now to implement it in PHP, maybe next week :((
Here is the example of how this method is currently used [1] [2], it's not PHP but you will get an idea RestCall is custom class [3] I'll try to improve PHP API, please ping me if I'll be too silent [1] https://github.com/apache/openmeetings/blob/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx#L212 [2] https://github.com/apache/openmeetings/blob/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx#L225 [3] https://github.com/apache/openmeetings/blob/3.1.x/openmeetings-flash/src/main/swf/base/remote/restCall.lzx#L172 On Thu, Sep 22, 2016 at 10:21 PM, Alessio Falsetti <[email protected]> wrote: > Hi Maxim, > > I made many test, this is an example of what I tried to do: > > ---------------------------------- > $restService = new OmRestService(); > $path = "http://www.mysite.com/myfile.jpg"; > $data = array("ownerId" => 2, > "externalId" => 1000, > "externalType" => "moodle", > "roomId" => 12, > "parentId" => 0, > "name" => "myfile.jpg" > ); > > $streamData = new CurlFile($path, 'image/jpg'); > > $params = array("file" => json_encode($data), > "stream" => $streamData > ); > // Chiama la funzione per importare i file > $result = $restService->call($this->getRestUrl("file"), > RestMethod::POST, > $this->sessionId, > $params, > null, > "fileExplorerItemDTO"); > ---------------------------------- > > If I use > $streamData = '@'.$path > > or > > new CurlFile($path, 'image/jpg'); > > the result does not change. Service return this error: "*Request > OpenMeetings! OpenMeetings Service failed and no response was returned. > Additioanl info:*" > but Additional info is empty. > > No duobt there is an error in the SOAP parameters, but digging in the Java > source code of OM, in the class FileExplorerItemDTO there is'nt method > fromString, which has been present in the RoomDTO class or > ExternalUserDTO. > > Where is the mistake? > > Thank you, and please let me know. > > > Alessio > > > > 2016-09-20 20:18 GMT+02:00 Maxim Solodovnik <[email protected]>: > >> Current version of the Gateway is unable to work with files >> But there are lots of examples (for ex. here http://blog.derakkilgo.co >> m/2009/06/07/send-a-file-via-post-with-curl-and-php/) how this can be >> implemented >> I can add it to the api https://github.com/openmee >> tings/openmeetings-api-plugin >> but unfortunately not right now :( >> >> On Tue, Sep 20, 2016 at 11:56 PM, Alessio Falsetti < >> [email protected]> wrote: >> >>> Hello Hemant, >>> >>> thank you for your help! I had already seen this documentation, but >>> there is still the problem of inserting files into the room. With the >>> previous version of OM Gateway & APIs, I call this: >>> >>> $result = $restService->call($this->getRestUrl("FileService") . >>> "importFile?SID=" . $this->session_id >>> . "&externalUserId=" . urlencode($userId) >>> . "&externalFileId=" . $externalFileId >>> . "&externalType=" . urlencode($externalType) >>> . "&room_id=" . urlencode($room_id) >>> . "&isOwner=" . $isOwner >>> . "&path=" . urlencode($path) >>> . "&parentFolderId=" . $parentFolderId >>> . "&fileSystemName=" . urlencode($fileSystemName)); >>> >>> and everything works smoothly, OM takes the files directly from the URL >>> specified >>> in "*path*". >>> >>> With the new version, this no longer works, and the funcion "*add*" is >>> described in the documentation as follows: >>> ------------------------------------------------------------------ >>> add >>> >>> @POST >>> @Consumes(value="multipart/form-data") >>> @Path(value="/") >>> public FileExplorerItemDTO >>> <http://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.html?is-external=true> >>> add(@QueryParam(value="sid") >>> String >>> <http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true> >>> sid, >>> FileExplorerItemDTO >>> <http://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.html?is-external=true> >>> file, >>> InputStream >>> <http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true> >>> stream) >>> throws org.apache.openmeetings.webservice.error.ServiceException >>> <http://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/webservice.error.ServiceException.html?is-external=true> >>> >>> to add a folder to the private drive, set parentFileExplorerItemId = 0 >>> and isOwner to 1/true and externalUserId/externalUserType to a valid >>> user >>> Parameters:sid - The SID of the User. This SID must be marked as logged >>> infile - the The file to be addedstream - the The file to be added >>> Returns:- Object created >>> ------------------------------------------------------------------ >>> >>> How do I pass the FileExplorerItemDTO and, above all, the InputStream >>> through OmGateway.php or OmRestService,php?? >>> >>> Thank you and let me know! >>> >>> Alessio >>> >>> >>> >>> >>> 2016-09-19 19:13 GMT+02:00 Coscend@OM <[email protected]>: >>> >>>> Hello Alessio, >>>> >>>> Guide and snippets: https://github.com/openmeeting >>>> s/openmeetings-api-plugin/wiki >>>> Moodle plugin: http://openmeetings.apache.org/MoodlePlugin.html >>>> >>>> Thank you. >>>> >>>> Sincerely, >>>> >>>> Hemant K. Sabat >>>> >>>> Coscend Communications Solutions >>>> Web site: www.Coscend.com >>>> ------------------------------------------------------------------ >>>> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail >>>> Messages from Coscend Communications Solutions' posted at: >>>> http://www.Coscend.com/Terms_and_Conditions.html >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Alessio Falsetti [mailto:[email protected]] >>>> Sent: Monday, September 19, 2016 12:08 PM >>>> To: [email protected] >>>> Subject: REST API >>>> >>>> Hi, >>>> >>>> through the REST API of OpenMeetings (3.1.1), I'm trying to upload >>>> files into a room. >>>> >>>> I'm trying to use the FileWebService API to add the files. Reading the >>>> documentation I seem to have understood that the function to be used is >>>> ADD, but until now I have not been successful use it, because I have not >>>> clear what and how parameters needs to pass to the function. >>>> >>>> Where can I find a *working* example in PHP? >>>> Thanks a lot! >>>> >>>> Alessio >>>> >>>> >>>> >>>> >>>> ----- >>>> No virus found in this message. >>>> Checked by AVG - www.avg.com >>>> Version: 2016.0.7797 / Virus Database: 4656/13044 - Release Date: >>>> 09/19/16 >>>> >>>> >>> >> >> >> -- >> WBR >> Maxim aka solomax >> > > -- WBR Maxim aka solomax
