対象: 新Office365 Office 365 Enterprise , Office 365 Business , Office 365 Education (この記事は 2015 年 6 月 19 日に Office Blogs に投稿された記事 Project Online and OData–Reserved Words の翻訳です。最新情報については、翻訳元の記事をご参照ください。) この記事の内容は Project Server 2013 や今後一般提供が予定されている Project Server 2016 にも当てはまりますが、OData はほとんどの場合 Project Online 上で使用されます。OData フィードのプロパティで使用されている特定の名前をユーザーのカスタム フィールドで使用しようとすると、問題が発生します。ユーザーが OData を使用しない場合はこの問題について心配する必要はないため、これらの単語を使用すること自体は禁止されていません。また、Project Server 2013 を導入する以前からこれらのフィールドを (オンプレミス環境で) 既に使用している場合も考えられます。また、この問題には、Project Online で使用している言語によって問題が発生する単語が異なるという特長があります。 しばらく前に公開した記事 (英語) でもこの問題について取り扱いましたが、このときは全単語のリストを掲載したり、言語設定に伴う問題について細かく説明したりはしていませんでした。 当初はすべての予約語をまとめたリストを掲載しようと考えましたが、その方法ではあまり実用的ではなさそうなので、お客様のサイトからご自身でリストを取得していただくようにお願いします。次の形式の URL を使用すると、リストを取得できます。 .sharepoint.com/sites/pwa/_api/ProjectData/$metadata">.sharepoint.com/sites/pwa/_api/ProjectData/$metadata">https:// .sharepoint.com/sites/pwa/_api/ProjectData/$metadata 下図は、私の PWA インスタンスのコード スニペット (言語設定は米国英語) です。 このリストは何ページ分もの長さがありますが、基本的に "Name=" の後に続く単語はすべて予約語です。下方向に少しスクロールすると、私のカスタム フィールドの名前が表示されます。 ご覧のとおり、この中には "ProjectID" というものが含まれていて、これは最初にお見せしたスニペットの "ProjectId" と競合します。OData フィードでプロジェクト レベルのデータを探そうとすると、これが原因となってエラーが発生します。この "ProjectID" という名前が "Project ID" や "P ro JectI D" の場合でも同様です。フィールドで OData 名を作成するときには空白文字がすべて無視されます。空白文字が無視された結果 (カスタム フィールド内で) 重複が発生する場合は、名前に "1" という文字を追加します。次の URL を参照するとエラーが発生します。 .sharepoint.com/sites/pwa/_api/ProjectData/Projects">.sharepoint.com/sites/pwa/_api/ProjectData/Projects">https:// .sharepoint.com/sites/pwa/_api/ProjectData/Projects An error occurred while processing this request. これと同じ OData フィードを、言語をフランス語に設定して参照したとすると、エラーは発生しません。このときの URL は次のようになります。 .sharepoint.com/sites/pwa/_api/ProjectData/[fr-Fr]/Projets">.sharepoint.com/sites/pwa/_api/ProjectData/[fr-Fr]/Projets">https:// .sharepoint.com/sites/pwa/_api/ProjectData/[fr-Fr]/Projets ここでは、英語の "Projects" の代わりにフランス語の "Projets" という単語が使用され、また、"ProjectId" はフランス語に翻訳されて "IdProjet" となりますが、カスタム フィールド名の "ProjectID" は翻訳されずそのまま使用されます。 Project Online でサポートされている各言語の予約語リストは、次の形式の URL を使用すると取得できます。 .sharepoint.com/sites/pwa/_api/ProjectData/[https:// .sharepoint.com/sites/pwa/_api/ProjectData/[ ]/$metadata LCID 文字列は、通常 "en-US" のように "言語-国" の形式で表されます。たとえば、ブラジルのポルトガル語は "pt-BR"、ポルトガルのポルトガル語は "pt-PT" です。 フランス語の場合の URL は次のようになります。 https:// .sharepoint.com/sites/pwa/_api/ProjectData/[pt-PT]/$metadata このページを参照すると、以下のような出力が得られます。 また、次の URL を使用した場合の出力は、下図のようになります。 .sharepoint.com/sites/pwa/_api/ProjectData/[ko-KR]/$metadata">.sharepoint.com/sites/pwa/_api/ProjectData/[ko-KR]/$metadata">https:// .sharepoint.com/sites/pwa/_api/ProjectData/[ko-KR]/$metadata 私は、予約語の問題を検出する 1 つの方法として、言語を切り替えて確認することがあります。上記のように、言語を英語からフランス語に変更してプロジェクト データを正常に表示できたら、下方向にスクロールしてカスタム フィールドを表示し、重複する予約語の有無を確認できます。その後言語を再度英語に戻して $metadata の表示を確認します。 このほかにも、同様に言語設定が異なることによって発生する問題について記事を投稿する予定ですので、そちらも併せてお読みください。 記事全文は、 こちらのページ (英語) でお読みいただけます。
↧