Créer l'API pour des modules personnalisés ONLYOFFICE Workspace

Introduction

Si vous avez créé votre propre module dans ONLYOFFICE et si vous l'avez ajouté à ONLYOFFICE Workspace selon ces instructions, il est également possible de créer une API de ce module.

Comment créer une API de votre propre module

  1. Créez le projet de Bibliothèque de classes (ASC.Api.Sample) et placez-le dans le dossier ...module\ASC.Api\ASC.Api.Sample .
    IMPORTANT Le nom du fichier de sortie dll doit être "ASC.Api.*.dll";
  2. Ajoutez des références requises à partir de ...\web\studio\ASC.Web.Studio\bin\:
    ASC.Api.dll
    ASC.Web.Sample.dll
  3. Créez la classe SampleApi et mettez en œuvre l'interface IApiEntryPoint :
    public class SampleApi : IApiEntryPoint{public string Name{get { return "sample"; }}}
  4. Définissez les méthodes publiques et les attributs spécifiques:
    [Attributes.Create("create", false)]public SampleClass Create(string value){return SampleDao.Create(value);}

    L'attribut précise le type de méthode, le chemin d'exécution dans la méthode, l'authentification et la validation du plan tarifaire. Les options sont présentées ci-dessous:

    CreateAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "POST" requestUpdateAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "PUT" requestDeleteAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "DELETE" requestReadAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "GET" request

    les paramètres requiresAuthorization, checkPayment sont facultatifs et sont définis true par défaut.

  5. Définissez le chemin de sortie pour le projet:
    <OutputPath>..\..\..\web\studio\ASC.Web.Studio\bin\</OutputPath><DocumentationFile>..\..\..\web\studio\ASC.Web.Studio\bin\ASC.Api.Sample.XML</DocumentationFile>

    pour que les builds soient générés dans le dossier web\studio\ASC.Web.Studio\bin .

  6. On peut générer le projet manuellement ou à l'aide de générateur. Pour ce dernier, ajoutez les lignes suivantes au fichier build\msbuild\build.proj :
    <ProjectToBuild Include="$(ASCDir)module\ASC.Api\ASC.Api.Sample\ASC.Api.Sample.csproj"/>

    et exécutez le fichier build\Build.bat .

  7. IMPORTANT Ajoutez ASC.Api.Sample.SampleApi au fichier web\studio\ASC.Web.Studio\web.autofac.config :
    <componenttype="ASC.Api.Sample.SampleApi, ASC.Api.Sample"service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api"name="sample"/>
  8. Générez le projet, lancez le site web et tester la méthode en utilisant la requête jQuery:
    $.ajax({
        type: "POST",
        url: "http://localhost:port/api/2.0/sample/create.json",
        data: {value: "create"}});

Hébergez ONLYOFFICE Workspace sur votre serveur

Articles avec le tag :
Parcourir tous les tags