機械翻訳について

構成、認可およびコンテンツのフェッチのためのRESTインタフェース

コンテンツ・コネクタは、コネクタ構成の定義、認可の設定およびコンテンツのフェッチのために、次のREST APIを実装する必要があります。

/rest/api

実装intradoc.connectorcommon.server.APIResource

ここでは、コンテンツ・コネクタでサポートされている最新バージョンを返します。

GET http://host:port/connector/rest/api

[    "v1"]

/rest/api/v1/server

実装intradoc.connectorcommon.server.ServerResource

これは、認証タイプ、ピッカー・タイプ、カスタム・フィールドなど、コンテンツ・コネクタ構成に関する情報を返します。

GET http://host:port/connector/rest/api/v1/server

{
    "name": "Pexels Connector",
    "nameLocalizations": [
        {
            "locale": "en",
            "localizedString": "Pexels Connector"
        }
    ],
    "version": " (, , )",
    "about": "Pexels Connector.<br>Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.",
    "aboutLocalizations": [
        {
            "locale": "en",
            "localizedString": "Pexels Connector.<br>Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved."
        }
    ],
    "authenticationType": "NO_AUTH",
    "pickerType": "CUSTOM",
    "enableMultiUserCopyBack": false,
    "maxUploadSize": 1073741824,
    "fields": [
        {
            "ID": "ProxyHost",
            "datatype": "STRING",
            "siteSettable": true,
            "userSettable": false,
            "connectorSettable": false,
            "authorizationURLParameter": false,
            "label": "HTTP Proxy Hostname",
            "labelLocalizations": [
                {
                    "locale": "en",
                    "localizedString": "HTTP Proxy Hostname"
                }
            ],
            "description": "The HTTP proxy hostname, leave blank to disable.",
            "descriptionLocalizations": [
                {
                    "locale": "en",
                    "localizedString": "The HTTP proxy hostname, leave blank to disable."
                }
            ],
            "required": false
        },
        {
            "ID": "ProxyPort",
            "datatype": "STRING",
            "siteSettable": true,
            "userSettable": false,
            "connectorSettable": false,
            "authorizationURLParameter": false,
            "label": "HTTP Proxy Port",
            "labelLocalizations": [
                {
                    "locale": "en",
                    "localizedString": "HTTP Proxy Port"
                }
            ],
            "description": "The HTTP proxy port number, leave blank to default to port 80.",
            "descriptionLocalizations": [
                {
                    "locale": "en",
                    "localizedString": "The HTTP proxy port number, leave blank to default to port 80."
                }
            ],
            "required": false
        },
        {
            "ID": "ProxyScheme",
            "datatype": "STRING",
            "siteSettable": true,
            "userSettable": false,
            "connectorSettable": false,
            "authorizationURLParameter": false,
            "label": "HTTP Proxy Scheme",
            "labelLocalizations": [
                {
                    "locale": "en",
                    "localizedString": "HTTP Proxy Scheme"
                }
            ],
            "description": "The HTTP proxy scheme, leave blank to default to http.",
            "descriptionLocalizations": [
                {
                    "locale": "en",
                    "localizedString": "The HTTP proxy scheme, leave blank to default to http."
                }
            ],
            "required": false
        },
        {
            "ID": "ClientID",
            "datatype": "STRING",
            "siteSettable": true,
            "userSettable": false,
            "connectorSettable": false,
            "authorizationURLParameter": false,
            "label": "Client ID",
            "labelLocalizations": [
                {
                    "locale": "en",
                    "localizedString": "Client ID"
                }
            ],
            "description": null,
            "descriptionLocalizations": [],
            "required": true
        }
    ],
    "supportedConnectorTypes": [
        "COPY"
    ],
    "proprietorName": "",
    "serviceProviderName": "Pexels",
    "nativeAppInfos": null
}

/rest/api/v1/authorization/authorizationURLs

実装intradoc.connectorcommon.server.AuthorizationResource

これは、コンテンツ・コネクタがOAuthをサポートしている場合にのみ必要です。

ユーザーが資格証明を提供し、アクセスを認可するOAuthフローを呼び出すためにブラウザがリダイレクトする認可URLを返します。 ペイロードで渡されるリダイレクトURLは、OAuthプロバイダが一時コードでリダイレクトするURLです。

POST http://host:port/connector/rest/api/v1/authorization/authorizationURLs

Headers
Content-Type:application/json
X-CEC-ClientID:client-id
X-CEC-ClientSecret:client-secret
X-CEC-ProxyHost:proxy-host
X-CEC-ProxyPort:80
X-CEC-ProxyScheme:http
  
Payload
{"redirectURL":"http://host:port/documents/web/AR_COMPLETE_AUTHORIZATION"}
  
Response
{
    "authorizationURL": "https://domain/oauth/authorize?response_type=code&client_id=id://host:port/documents/web/AR_COMPLETE_AUTHORIZATION",
    "fieldValueMap": null
}

/rest/api/v1/authorization/completedAuthorizations

実装intradoc.connectorcommon.server.AuthorizationResource

これは、コンテンツ・コネクタがOAuthをサポートしている場合にのみ必要です。

これは、OAuthフローの2番目の部分を完了するために呼び出されます。ここでは、前のステップでOAuthプロバイダから取得したコードがクライアントIDおよびシークレットとともに渡され、アクセス・トークンが取得されて、有効期限とともにトークンがリフレッシュされます。 この情報はOracle Content Managementに戻され、サインインしたユーザーに対して安全に格納されます。

POST http://host:port/connector/rest/api/v1/authorization/completedAuthorizations

Headers
Content-Type:application/json
X-CEC-ClientID:client-id
X-CEC-ClientSecret:client-secret
X-CEC-code:code
X-CEC-ProxyHost:proxy-host
X-CEC-ProxyPort:80
X-CEC-ProxyScheme:http
Content-Type:application/json
  
Payload
{"redirectURL":"http://host:port/documents/web/AR_COMPLETE_AUTHORIZATION"}
  
Response
{
    "authorized": true,
    "authorizedUserDisplayName": null,
    "authorizedUserEmailAddress": null,
    "authorizedUserPictureURL": null,
    "fieldValueMap": {
        "RefreshToken": "refresh-token",
        "AccessToken": "access-token"
    }
}

/rest/api/v1/authorization/basicAuthorization

実装intradoc.connectorcommon.server.AuthorizationResource

これは、コンテンツ・コネクタが基本的な認可をサポートしている場合にのみ必要です。 ここでは、パスワード・フィールドがbase64でエンコードされたヘッダーでサインイン資格証明が渡されます。 コンテンツ・コネクタは常にSSLエンドポイントにデプロイすることをお薦めします。

POST http://host:port/connector/rest/api/v1/authorization/basicAuthorization

POST http://host:port/connector/rest/api/v1/authorization/basicAuthorization

Headers
Content-Type:application/json
X-CEC-UserName:user
X-CEC-UserPwd:password
X-CEC-ProxyHost:proxy-host
X-CEC-ProxyPort:80
X-CEC-ProxyScheme:http

Response
true

/rest/api/v1/content

実装intradoc.connectorcommon.server.ContentResource

指定されたファイルIDによって、ファイルの入力ストリームが返されます。

GET http://host:port/connector/rest/api/v1/content?uri=fFileGUID:xxxx

Request Headers
X-CEC-ClientID:client-id
X-CEC-ProxyHost:proxy-host
X-CEC-ProxyPort:80
X-CEC-ProxyScheme:http
   
Response Headers
content-disposition attachment; filename=pexels-photo-xxxx.jpeg
content-type image/jpeg
  
Response Body
File Content