# @ohos.app.form.formAgent (FormAgent)(系统接å£) FormAgentæ¨¡å—æä¾›äº†å¡ç‰‡ä»£ç†ç›¸å…³æŽ¥å£çš„能力,目å‰ä»…包括请求å‘布å¡ç‰‡ã€‚ > **说明:** > > 本模å—首批接å£ä»ŽAPI version 11开始支æŒã€‚åŽç»ç‰ˆæœ¬çš„æ–°å¢žæŽ¥å£ï¼Œé‡‡ç”¨ä¸Šè§’æ ‡å•ç‹¬æ ‡è®°æŽ¥å£çš„起始版本。 > æœ¬æ¨¡å—æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ ## å¯¼å…¥æ¨¡å— ```ts import { formAgent } from '@kit.FormKit'; ``` ## requestPublishForm requestPublishForm(want: Want, callback: AsyncCallback<string>): void 请求å‘å¸ƒä¸€å¼ å¡ç‰‡åˆ°ä½¿ç”¨æ–¹ï¼Œä½¿ç”¨callbck异æ¥å›žè°ƒã€‚使用方通常为桌é¢ã€‚ **éœ€è¦æƒé™ï¼š** ohos.permission.AGENT_REQUIRE_FORM **系统能力:** SystemCapability.Ability.Form **系统接å£ï¼š** æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | -------- | ----------------------------------- | ---- | ------------------------------------------------------------ | | want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | å‘布请求,需包å«ä»¥ä¸‹å—段。<br>bundleName: ç›®æ ‡å¡ç‰‡bundleName<br>abilityName: ç›®æ ‡å¡ç‰‡ability<br>parameters:<br>- ohos.extra.param.key.form_dimension: ç›®æ ‡å¡ç‰‡è§„æ ¼<br>- ohos.extra.param.key.form_name: ç›®æ ‡å¡ç‰‡å<br>- ohos.extra.param.key.module_name: ç›®æ ‡å¡ç‰‡moduleName| | callback | AsyncCallback<string> | 是 | 回调函数,返回å¡ç‰‡æ ‡è¯†ã€‚ | **错误ç :** | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | -------- | | 202 | The application is not a system application. | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | | 16500050 | IPC connection error. | | 16500100 | Failed to obtain the configuration information. | | 16501000 | An internal functional error occurred. | | 16501008 | Waiting for the form addition to the desktop timed out. | 以上错误ç 的详细介ç»è¯·å‚è§[å¡ç‰‡é”™è¯¯ç ](errorcode-form.md)。 **示例:** ```ts import { formAgent } from '@kit.FormKit'; import { Want } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; let want: Want = { bundleName: 'com.ohos.exampledemo', abilityName: 'FormAbility', parameters: { 'ohos.extra.param.key.form_dimension': 2, 'ohos.extra.param.key.form_name': 'widget', 'ohos.extra.param.key.module_name': 'entry' } }; try { formAgent.requestPublishForm(want, (error: BusinessError, data: string) => { if (error) { console.error(`callback error, code: ${error.code}, message: ${error.message})`); return; } console.log(`formAgent requestPublishForm, form ID is: ${JSON.stringify(data)}`); }); } catch (error) { console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message})`); } ``` ## requestPublishForm requestPublishForm(want: Want): Promise<string> 请求å‘å¸ƒä¸€å¼ å¡ç‰‡åˆ°ä½¿ç”¨æ–¹ï¼Œä½¿ç”¨Promise异æ¥å›žè°ƒã€‚使用方通常为桌é¢ã€‚ **éœ€è¦æƒé™ï¼š** ohos.permission.AGENT_REQUIRE_FORM **系统能力:** SystemCapability.Ability.Form **系统接å£ï¼š** æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | å‘布请求,需包å«ä»¥ä¸‹å—段。<br>bundleName: ç›®æ ‡å¡ç‰‡bundleName<br>abilityName: ç›®æ ‡å¡ç‰‡ability<br>parameters:<br>- ohos.extra.param.key.form_dimension: ç›®æ ‡å¡ç‰‡è§„æ ¼<br>- ohos.extra.param.key.form_name: ç›®æ ‡å¡ç‰‡å<br>- ohos.extra.param.key.module_name: ç›®æ ‡å¡ç‰‡moduleName | **返回值:** | 类型 | 说明 | | :------------ | :---------------------------------- | | Promise<string> | Promise对象。返回å¡ç‰‡æ ‡è¯†ã€‚ | **错误ç :** | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | -------- | | 202 | The application is not a system application. | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | | 16500050 | IPC connection error. | | 16500100 | Failed to obtain the configuration information. | | 16501000 | An internal functional error occurred. | | 16501008 | Waiting for the form addition to the desktop timed out. | 以上错误ç 的详细介ç»è¯·å‚è§[å¡ç‰‡é”™è¯¯ç ](errorcode-form.md)。 **示例:** ```ts import { formAgent } from '@kit.FormKit'; import { Want } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; let want: Want = { bundleName: 'com.ohos.exampledemo', abilityName: 'FormAbility', parameters: { 'ohos.extra.param.key.form_dimension': 2, 'ohos.extra.param.key.form_name': 'widget', 'ohos.extra.param.key.module_name': 'entry' } }; try { formAgent.requestPublishForm(want).then((data: string) => { console.log(`formAgent requestPublishForm success, form ID is : ${JSON.stringify(data)}`); }).catch((error: BusinessError) => { console.error(`promise error, code: ${error.code}, message: ${error.message})`); }); } catch (error) { console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message})`); } ```