将安装参数添加到内容丰富的应用程序

Adding installation parameters to a contentful App

正在努力寻找解释如何设置内容丰富的应用程序安装参数的工作示例或文档。我可以看到如何从 SDK 中获取它们,但我无法设置它们。

非常感谢任何帮助。

您的应用很可能有一个 Config Location,这意味着您正在构建 UI,它将在您的应用安装期间和安装后显示给用户。在此位置,有一个名为 sdk.app.onConfigure 的 SDK 方法。此方法采用一个函数,该函数将 return 一个名为 targetState.

的对象

targetState 可以找到文档 here

让我们以 React Config 应用程序为例,我们将设置 {foo: 'bar'} 作为我们的安装参数:

export default class Config extends Component<ConfigProps, ConfigState> {
  constructor(props: ConfigProps) {
    super(props);
    // letting the SDK know we have a configuration function which will
    // return `targetState`
    props.sdk.app.onConfigure(() => this.onConfigure());
  }

  // This method will be called when a user clicks on "Install"
  // or "Save" on the configuration screen.
  onConfigure = async () => {
    // the object returned here is what Contentful calls `targetState`.
    // it is simply a configuration object set when the app is installed or updated
    return {
        parameters: { installation: { foo: 'bar' } }
    };
  };

在上面的示例中,当用户在应用程序的配置位置点击“安装”或“保存”时,{foo: 'bar'} 的安装参数对象将被保存,然后可以通过以下方式在其他应用程序位置访问SDK。

如果您纯粹使用 API 创建或修改 AppInstallation,您可以使用内容管理 API 更新应用程序的 parameters如文档 here.

中所述

迟到的答案,但我也为此苦苦挣扎。我在这里找到了一个教程: https://dev.to/wiommi/how-i-built-a-contentful-app-combined-with-commerce-js-iii-33fo

它们是在 ConfigScreen.tsx

中手动添加的

您需要将它们添加到您的界面

export interface AppInstallationParameters {}

外汇:

export interface AppInstallationParameters {
  apiKey?: string;
  projectId?: string;
}

然后使用 fx 手动设置它们。

setParameters({ ...parameters, [PARAMETERNAME]: [PARAMETERVALUE] });