2

Podio での私の質問に答えてくれた @Andreas に感謝します: Troubles assigning reference for a Relationship app field、すべての Podio アプリ フィールドの特別な設定を見つけるのに役立ちました。

とにかく、参照されたアプリを関係アプリ フィールドに割り当てることはまだできません。

次の方法ですべてのフィールドを使用してアプリを作成しようとしました:

$attributes = array(
            "space_id" => $ws->space_id,
            "config" => array(
                "icon" => DEFAULT_APP_ICON,
                "item_name" => "Test App",
                "name" => "TestApp"
            ),
            "fields" => array(
              array (
                "type" => "app",
                "external_id" => "test-reference-field",
                "config" => array (
                  "label" => "Test field",
                  "settings" => array(
                    "referenced_apps" => array(array("app_id" => 10048654))
                  )
                )
              )
            )
          );
          $app = new PodioApp($attributes);

ただし、指定されたワークスペースでアプリをまったく作成しないため、代わりに静的 create() メソッドを呼び出してアプリを作成しました。

$app = PodioApp::create($attributes);

実際、アプリは適切なワークスペースで作成されていますが、参照されているアプリはまったくリンクされていません。では、それは API のバグでしょうか、それともコードでスキップしたものでしょうか? どんな助けでもいただければ幸いです

ありがとう

4

1 に答える 1

3

ドキュメントは間違っておりreferenceable_types、設定キーに使用する必要があり、値は app_ids の配列にする必要があります。

$attributes = array(
        "space_id" => $ws->space_id,
        "config" => array(
            "icon" => DEFAULT_APP_ICON,
            "item_name" => "Test App",
            "name" => "TestApp"
        ),
        "fields" => array(
          array (
            "type" => "app",
            "external_id" => "test-reference-field",
            "config" => array (
              "label" => "Test field",
              "settings" => array(
                "referenceable_types" => array(233461, 233464)
              )
            )
          )
        )
      );
$app = PodioApp::create($attributes);
于 2014-11-10T19:02:54.933 に答える