3

さて、私はこれまでにこれを試しました。

ClientOM.List list = clientContext.Site.GetCatalog((int)ClientOM.ListTemplateType.SolutionCatalog);
        clientContext.Load(list);
        clientContext.ExecuteQuery();

        ClientOM.ListItemCollection listItemColls = list.GetItems(new ClientOM.CamlQuery());
        clientContext.Load(listItemColls, listItem => listItem.Include(item => item.DisplayName, item => item["Status"]).Where(i => i.DisplayName == "Tzunami Office 365 Sandbox Package"));
        clientContext.ExecuteQuery();

次に、サンド ボックス ソリューションのステータスを読み取ります。サンドボックス ソリューションのステータスを示します。つまり、wsp ファイルがアクティブ化されていない場合、listItemColls[0]["Status"] は null に等しくなります。

アクティブ化されていない場合、そのソリューションをアクティブ化します。どうすればできますか??

4

2 に答える 2

1

フィドラーを介してサンドボックスをアクティブにするために送信されたリクエストを追跡します。コードを介して同じプロセスを複製するだけです

于 2014-01-20T09:15:37.040 に答える
1

これについて調べてみましたが、SharePoint Online でサンドボックス ソリューションをアクティブ化するためのプログラムによるアクセスはないと思います。

プログラムでソリューションをギャラリーにアップロードし、機能をアクティブ化できますが、サポートされている API (クライアント OM、サンドボックス コード、Web サービス) には、ソリューションをアクティブ化する機能が含まれていません。

個人的には、これは SharePoint Online へのカスタマイズの複雑な自動展開を構築するための 1 つの欠けているステップであるため、少しがっかりしています。

あなたができる最善の方法 (これは完全にサポートされておらず、将来いつでも壊れる可能性があります) は、SharePoint Online への認証アクションを実行する Web ブラウザーをシミュレートし、ソリューション ギャラリーを開き、適切な UI をクリックすることです。ソリューションをアクティブにする要素。

于 2012-09-19T12:57:01.310 に答える