ユーザー、グループ、およびロール REST API リファレンス
User、Group、RoleAssigment、RoleDefinition、UserCustomAction、および関連したリソースの REST API について説明します。
適用対象: apps for SharePoint | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013
この記事の内容
この記事の要求の例について
SharePoint 2013 ユーザーおよびグループ REST 構文の探索
Group リソース
GroupCollection リソース
RoleAssignment リソース
RoleAssignmentCollection リソース
RoleDefinition リソース
RoleDefinitionCollection リソース
RoleDefinitionBindingCollection リソース
User リソース
UserCollection リソース
UserCustomAction リソース
UserCustomActionCollection リソース
追加リソース
この記事の要求の例について
この記事の要求の例は、クロスドメイン要求を行うためにクロスドメイン ライブラリ (SP.RequestExecutor.js) を使用していることを前提としています。このため、エンドポイント URI で SP.AppContextSite を使用します。詳細については、「クロスドメイン ライブラリを使用してアドインから SharePoint 2013 のデータにアクセスする」を参照してください。
要求の例を使用する前に、次の操作を実行してください。
<アプリ web url>、<ホスト web url>、および ID、名前、SharePoint エンティティのパスなどその他プレースホルダーのデータを変更します。
クロスドメイン ライブラリを使用していない場合は、すべての POST 要求のフォーム ダイジェストの値を送信する X-RequestDigest ヘッダー、および要求本文でデータを送信する POST 要求のための content-length ヘッダーを含めます。
クロスドメイン要求を行わない場合は、SP.AppContextSite(@target) および ?@target='<host web url>' をエンドポイント URI から削除します。
OAuth を使用する場合は、Authorization ヘッダー ("Authorization": "Bearer " + <access token>) を含めて OAuth アクセス トークンを送信します。
要求の例の url および body プロパティ値から改行を削除します。改行は、例を分かりやすくするために追加されています。
サーバーが Atom 形式で応答を返すようにするには、"accept": "application/json; odata=verbose" ヘッダーを削除します。
クロスドメイン ライブラリ、OAuth、および SharePoint REST サービスの使用法についての詳細は、「その他の技術情報」を参照してください。要求形式についての詳細は、「環境によって異なる REST 要求の方法」および「REST 要求で使うプロパティ」を参照してください。
ヒント
SharePoint Online REST サービスは、OData $batch クエリ オプションを使用して複数の要求を、サービスに対する 1 つの呼び出しに結合できます。詳細とコード サンプルへのリンクについては、「REST API によりバッチ要求を発行する」をご覧ください。このオプションは、オンプレミスの SharePoint ではサポートされていません。
SharePoint 2013 ユーザーおよびグループ REST 構文の探索
SharePoint 2013 ユーザーおよびグループの REST 構文を視覚的に表示します。 その他の SharePoint REST 構文の図を探索します。 すべての SharePoint REST 構文の図が統合された PDF をダウンロードします。 |
Group リソース
SharePoint サイト中のユーザーの集まりを表します。Group は、SP.Principal の一種です。
エンドポイント URI | プロパティ | OData 表現
エンドポイント URI
http://<site url>/_api/web/sitegroups(<group id>)
サポートされる HTTP メソッド
GET | POST | MERGE | PUT
要求の例
GET 要求の例: グループを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups(5)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
LoginName によりグループを取得することもできます。「GetByName メソッド」をご覧ください。
MERGE 要求の例: グループを変更します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups(5)
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata':{ 'type': 'SP.Group' }, 'Description':'New description of the group' }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "MERGE"
},
success: successHandler,
error: errorHandler
});
グループにユーザーを追加するには、「UserCollection 要求例」に示すとおり、グループのユーザー コレクションにユーザーを追加します。グループからユーザーを削除するには、UserCollection リソースの RemoveById メソッド または RemoveByLoginName メソッドを使用します。
PUT 要求の例: グループを置き換えます
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups(30)
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata':{ 'type': 'SP.Group' }, 'Title':'Training',
'Description':'Description of new group', 'AllowMembersEditMembership':'false',
'AllowRequestToJoinLeave':'false', 'AutoAcceptRequestToJoinLeave':'false',
'OnlyAllowMembersViewMembership':'true', 'RequestToJoinLeaveEmailSetting':'true' }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "PUT"
},
success: successHandler,
error: errorHandler
});
RemoveById メソッド または RemoveByLoginName メソッド を使用してグループを削除します。グループを作成するには、POST 要求を GroupCollection リソースに送ります。例については、「GroupCollection 要求例」をご覧ください。
Group のプロパティ
プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups(5)/<property name>
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
プロパティ |
型 |
R/W |
説明 |
|
---|---|---|---|---|
AllowMembersEditMembership |
Boolean |
RW |
はい |
グループ メンバーがグループのメンバーシップを編集できるかどうかを示す値を取得または設定します。 |
AllowRequestToJoinLeave |
Boolean |
RW |
はい |
グループのメンバーシップやグループからの脱退をユーザーが要求できるかどうかを示す値を取得または設定します。 |
AutoAcceptRequestToJoinLeave |
Boolean |
RW |
いいえ |
グループに対する参加または脱退の要求を自動的に受け入れることができるかどうかを示す値を取得または設定します。 |
CanCurrentUserEditMembership |
Boolean |
R |
いいえ |
現在のユーザーがグループのメンバーシップを編集できるかどうかを示す値を取得します。 |
CanCurrentUserManageGroup |
Boolean |
R |
いいえ |
現在のユーザーがグループを管理できるかどうかを示す値を取得します。 |
CanCurrentUserViewMembership |
Boolean |
R |
いいえ |
現在のユーザーがグループのメンバーシップを表示できるかどうかを示す値を取得します。 |
Description |
String |
RW |
はい |
グループの説明を取得または設定します。 |
Id |
Int32 |
R |
はい |
ユーザーまたはグループのメンバー識別子を示す値を取得します。 |
IsHiddenInUI |
Boolean |
R |
はい |
このメンバーを UI で非表示にする必要があるかどうかを示す値を取得します。 |
LoginName |
String |
R |
はい |
グループの名前を取得します。 |
OnlyAllowMembersViewMembership |
Boolean |
RW |
はい |
グループ メンバーのみがグループのメンバーシップを表示できるかどうかを示す値を取得または設定します。 |
Owner |
SP.Principal |
RW |
いいえ |
制御セキュリティの権限を割り当てられたユーザーまたは別のグループである所有者を、取得または設定します。 |
OwnerTitle |
String |
R |
はい |
このグループの所有者の名前を取得します。 |
RequestToJoinLeaveEmailSetting |
String |
RW |
はい |
メンバーシップの要求の送信先となる電子メール アドレスを取得または設定します。 |
PrincipalType |
Int32 |
R |
はい |
プリンシパルの種類が含まれている値を取得します。 ビット単位の SP.PrincipalType 値を表します。None = 0、User = 1、DistributionList = 2、SecurityGroup = 4、SharePointGroup = 8、All = 15。 |
Title |
String |
RW |
はい |
プリンシパルの名前を指定する値を取得または設定します。 |
Users |
R |
いいえ |
グループ内のすべてのユーザーを表すユーザー オブジェクトのコレクションを取得します。 |
OData 表現
次の例は、JSON 形式による Group リソースを表します。
{"d":{
"__metadata":{,
"id":"https://<site url>/_api/Web/SiteGroups/GetById(5)",
"uri":"https://<site url>/_api/Web/SiteGroups/GetById(5)",
"type":"SP.Group"
},
"Owner":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups/GetById(5)/Owner"}},
"Users":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups/GetById(5)/Users"}},
"Id":5,
"IsHiddenInUI":false,
"LoginName":"Members",
"Title":"Members",
"PrincipalType":8,
"AllowMembersEditMembership":false,
"AllowRequestToJoinLeave":false,
"AutoAcceptRequestToJoinLeave":false,
"Description":"Use this group to grant people contribute permissions to the SharePoint site: ",
"OnlyAllowMembersViewMembership":false,
"OwnerTitle":"Owners",
"RequestToJoinLeaveEmailSetting":""
}}
GroupCollection リソース
Group リソースのコレクションを表します。
エンドポイント URI | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/sitegroups
サポートされる HTTP メソッド
GET | POST
要求の例
GET 要求の例: ルート サイトのグループを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GET 要求の例: グループを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups(5)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
LoginName によりグループを取得することもできます。「GetByName メソッド」をご覧ください。
POST 要求の例: グループを作成します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata':{ 'type': 'SP.Group' }, 'Title':'New Group' }",
headers: { "content-type": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
グループの変更方法については、「Group 要求の例」をご覧ください。
GroupCollection メソッド
GetById
GetByName
RemoveById
RemoveByLoginName
GetById メソッド
グループのメンバー ID に基づいてコレクションからグループを返します。
エンドポイント |
/getbyid(<group id>) |
HTTP メソッド |
GET |
パラメーター |
型: Int32 |
応答 |
型: SP.Group |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups
/getbyid(5)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
または単に、GroupCollection リソースのグループ ID を指定することもできます。例: …/_api/web/sitegroups(5)
GetByName メソッド
グループの名前に基づいて、コレクションからクロスサイト グループを返します。
エンドポイント |
/getbyname('<group name>') |
HTTP メソッド |
GET |
パラメーター |
型: String |
応答 |
型: SP.Group |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups
/getbyname('content site owners')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
RemoveById メソッド
指定されたメンバー ID を持つグループを、コレクションから削除します。
エンドポイント |
/removebyid(<group id>) |
HTTP method |
POST |
パラメーター |
型: Int32 |
応答 |
なし |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups
/removebyid(17)
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
RemoveByLoginName メソッド
指定された名前を持つクロスサイト グループをコレクションから削除します。
エンドポイント |
/removebyloginname('<group name>') |
HTTP method |
POST |
パラメーター |
型: String |
応答 |
なし |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups
/removebyloginname('training')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
OData 表現
次の例は、JSON 形式による GroupCollection リソースを表します。
{"d":{
"results":[{
"__metadata":{
"id":"https://<site url>/_api/Web/SiteGroups/GetById(7)",
"uri":"https://<site url>/_api/Web/SiteGroups/GetById(7)",
"type":"SP.Group"
},
"Owner":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups/GetById(7)/Owner"}},
"Users":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups/GetById(7)/Users"}},
"Id":7,
"IsHiddenInUI":false,
"LoginName":"Excel Services Viewers",
"Title":"Excel Services Viewers",
"PrincipalType":8,
"AllowMembersEditMembership":false,
"AllowRequestToJoinLeave":false,
"AutoAcceptRequestToJoinLeave":false,
"Description":"Members of this group can view pages, list items, and documents. If the document has a server rendering available, they can only view the document using the server rendering.",
"OnlyAllowMembersViewMembership":true,
"OwnerTitle":"Owners",
"RequestToJoinLeaveEmailSetting":null
},{
"__metadata":{
"id":"https://<site url>/_api/Web/SiteGroups/GetById(5)",
"uri":"https://<site url>/_api/Web/SiteGroups/GetById(5)",
"type":"SP.Group"
},
"Owner":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups/GetById(5)/Owner"}},
"Users":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups/GetById(5)/Users"}},
"Id":5,
"IsHiddenInUI":false,
"LoginName":"Members",
"Title":"Members",
"PrincipalType":8,
"AllowMembersEditMembership":false,
"AllowRequestToJoinLeave":false,
"AutoAcceptRequestToJoinLeave":false,
"Description":"Use this group to grant people contribute permissions to the SharePoint site: ",
"OnlyAllowMembersViewMembership":false,
"OwnerTitle":"Owners",
"RequestToJoinLeaveEmailSetting":""
},
...
}]
}}
RoleAssignment リソース
Web サイト、リスト、またはリスト アイテム上でユーザーまたはグループに対するセキュリティ設定が可能なオブジェクトのロール割り当てを定義します。
エンドポイント URI | プロパティ | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/roleassignments(<principal id>)
サポートされる HTTP メソッド
GET | POST | DELETE
要求の例
GET 要求の例: ロールの割り当てを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments(3)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
DELETE 要求の例: ロールの割り当てを削除します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments(3)
?@target='<host web url>'",
method: "POST",
headers: { "X-HTTP-Method": "DELETE" },
success: successHandler,
error: errorHandler
});
または、RemoveRoleAssignment メソッド を使用してロールの割り当てを削除することができます。ロールの割り当てを作成するには、AddRoleAssignment メソッド を使用します。
RoleAssignment のプロパティ
プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/roleassignments(3)/<property name>
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
プロパティ |
型 |
R/W |
説明 |
|
---|---|---|---|---|
Member |
SP.Principal |
R |
いいえ |
ロールの割り当てに対応するユーザーまたはグループを取得します。 |
PrincipalId |
Int32 |
R |
はい |
ロールの割り当ての一意識別子。 |
RoleDefinitionBindings |
R |
いいえ |
ロールの割り当てのロール定義バインドのコレクションを取得します。 |
RoleAssignment メソッド
DeleteObject メソッド
ロールの割り当てを削除するために推奨される方法は、「RoleAssignment 要求の例」に示すように、RemoveRoleAssignment メソッドを使用するか、DELETE 要求を RoleAssignment リソース エンドポイントに送ることです。
OData 表現
次の例は、JSON 形式による RoleAssignment リソースを表します。
{"d":{
"__metadata":{,
"id":"https://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)",
"uri":"https://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)",
"type":"SP.RoleAssignment"
},
"Member":{"__deferred":{"uri":"https://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)/Member"}},
"RoleDefinitionBindings":{"__deferred":{"uri":"https://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)/RoleDefinitionBindings"}},
"PrincipalId":3
}}
RoleAssignmentCollection リソース
RoleAssignment リソースのコレクションを表します。
エンドポイント URI | プロパティ | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/roleassignments
サポートされる HTTP メソッド
GET | POST
要求の例
GET 要求の例: ロールの割り当てを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments(3)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
ロールの割り当てを削除するには、AddRoleAssignment メソッドを使用します。ロールの割り当てを削除するには、「RoleAssignment 要求例」に示すように、RemoveRoleAssignment メソッドを使用するか、DELETE 要求を RoleAssignment リソース エンドポイントに送ります。
RoleAssignmentCollection のプロパティ
プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments(3)/groups
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
プロパティ |
型 |
R/W |
説明 |
|
---|---|---|---|---|
Groups |
R |
いいえ |
このセキュリティ設定が可能なオブジェクトのアクセス制御リスト (ACL) に直接属するグループを取得します。 |
RoleAssignmentCollection メソッド
AddRoleAssignment
GetByPrincipalId
RemoveRoleAssignment
AddRoleAssignment メソッド
指定されたプリンシパルとロール定義を持つ新しいロール割り当てをコレクションに追加します。
エンドポイント |
/addroleassignment(principalid、roledefid) |
パラメーター |
|
HTTP method |
POST |
応答 |
なし |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments
/addroleassignment(principalid=21, roledefid=1073741827)
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
権限を継承するオブジェクトでこのメソッドを使用するには、最初にオブジェクトで BreakRoleInheritance メソッドを呼び出す必要があります。「REST インターフェイスを使用してリストにカスタム アクセス許可を設定する」を参照してください。
GetByPrincipalId メソッド
指定されたプリンシパル ID と関連付けられているロール割り当てをコレクションから取得します。
エンドポイント |
/getbyprincipalid(<prinicipal id>) |
パラメーター |
型: Int32 |
HTTP method |
GET |
応答 |
型: SP.RoleAssignment |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments
/getbyprincipalid(3)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
または単に、 RoleAssignmentCollection リソースでロール割り当てのプリンシパル ID を指定することもできます。例: …/_api/web/roleassignments(3)
RemoveRoleAssignment メソッド
指定されたプリンシパルとロール定義を持つ新しいロール割り当てをコレクションから削除します。
エンドポイント |
/removeroleassignment(principalid、roledefid) |
パラメーター |
|
HTTP method |
POST |
応答 |
なし |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments
/removeroleassignment(principalid=21, roledefid=1073741827)
?@target='<host web url>'",
method: "POST",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
OData 表現
次の例は、JSON 形式による RoleAssignmentCollection リソースを表します。
{"d":{
"results":[{
"__metadata":{
"id":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(1)",
"uri":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(1)",
"type":"SP.RoleAssignment"
},
"Member":{"__deferred":{"uri":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(1)/Member"}},
"RoleDefinitionBindings":{"__deferred":{"uri":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(1)/RoleDefinitionBindings"}},
"PrincipalId":1
},{
"__metadata":{
"id":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)",
"uri":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)",
"type":"SP.RoleAssignment"
},
"Member":{"__deferred":{"uri":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)/Member"}},
"RoleDefinitionBindings":{"__deferred":{"uri":"http://<site url>/_api/Web/RoleAssignments/GetByPrincipalId(3)/RoleDefinitionBindings"}},
"PrincipalId":3
},{
...
}]
}}
RoleDefinition リソース
名前、説明、および権利セットを含む 1 つのロール定義を設定します。
エンドポイント URI | プロパティ | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/roledefinitions(<role definition id>)
サポートされる HTTP メソッド
GET | POST | DELETE | MERGE | PUT
要求の例
GET 要求の例: ロール定義の取得
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions(1073741829)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
MERGE 要求の例: ロール定義の変更
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions(1073741928)
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata': { 'type': 'SP.RoleDefinition' }, 'BasePermissions':
{ '__metadata': { 'type': 'SP.BasePermissions' }, 'High': '48' } }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "MERGE"
},
success: successHandler,
error: errorHandler
});
PUT 要求例: ロール定義の置き換え
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions(1073741928)
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata': { 'type': 'SP.RoleDefinition' }, 'BasePermissions':
{ '__metadata': { 'type': 'SP.BasePermissions' }, 'High': '48' },
'Description': 'New description', 'Name': 'New name', 'Order': 170 }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "PUT"
},
success: successHandler,
error: errorHandler
});
DELETE 要求例: ロール定義の削除
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions(1073741928)
?@target='<host web url>'",
method: "POST",
headers: { "X-HTTP-Method": "DELETE" },
success: successHandler,
error: errorHandler
});
ロール定義を作成する方法の例については、「RoleDefinitionCollection 要求の例」をご覧ください。
RoleDefinition のプロパティ
プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/roledefinitions(1073741829)/<property name>
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
プロパティ |
型 |
R/W |
説明 |
|
---|---|---|---|---|
BasePermissions |
RW |
はい |
ロール定義に対する基本的なアクセス許可を指定する値を取得または設定します。 |
|
Description |
String |
RW |
はい |
ロール定義の説明を指定する値を取得または設定します。 |
Hidden |
Boolean |
R |
はい |
ロール定義が表示されるかどうかを示す値を取得します。 |
Id |
Int32 |
R |
はい |
ロール定義の ID を示す値を取得します。 |
Name |
String |
RW |
はい |
ロール定義名を指定する値を取得または設定します。 |
Order |
Int32 |
RW |
はい |
サイト コレクションの [アクセス許可レベル] ページでの順序位置を指定する値を取得または設定します。 |
RoleTypeKind |
Int32 |
R |
はい |
ロール定義の種類を示す値を取得します。SP.RoleType 値を表します。ロールの種類の値のリストの詳細は, .NET クライアント オブジェクト モデル リファレンスの「RoleType」を参照してください。 |
RoleDefinition メソッド
DeleteObject メソッド
ロール割り当てを削除するために推奨される方法は、「RoleDefinition 要求の例」に示すように、DELETE 要求を RoleDefinition リソース エンドポイントに送ることです。
OData 表現
次の例は、JSON 形式による RoleDefinition リソースを表します。
{"d":{
"__metadata":{,
"id":"https://<site url>/_api/Web/RoleDefinitions(1073741829)",
"uri":"https://<site url>/_api/Web/RoleDefinitions(1073741829)",
"type":"SP.RoleDefinition"
},
"BasePermissions":{"__metadata":{"type":"SP.BasePermissions"}, "High":"2147483647", "Low":"4294967295"},
"Description":"Has full control.",
"Hidden":false,
"Id":1073741829,
"Name":"Full Control",
"Order":1,
"RoleTypeKind":5
}}
RoleDefinitionCollection リソース
RoleDefinition リソースのコレクションを表します。
エンドポイント URI | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/roledefinitions
サポートされる HTTP メソッド
GET | POST
要求の例
GET 要求の例: ロール定義を取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions(1073741829)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
POST 要求の例: ロール定義を作成します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata': { 'type': 'SP.RoleDefinition' }, 'BasePermissions':
{ '__metadata': { 'type': 'SP.BasePermissions' }, 'High': '176' , 'Low': '138612801' },
'Description': 'New description', 'Name': 'New role', 'Order': 180 }",
headers: {
"accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
},
success: successHandler,
error: errorHandler
});
ロール定義を変更、または削除する方法の例については、「RoleDefinition 要求例」をご覧ください。
RoleDefinitionCollection メソッド
GetById メソッド
指定された ID を持つロール定義をコレクションから取得します。
エンドポイント |
/getbyid(<role definition id>) |
パラメーター |
型: Int32 |
HTTP method |
GET |
応答 |
型: SP.RoleDefinition |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions
/getbyid(1073741829)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
または単に、RoleDefinitionCollection リソースのロール定義 ID を指定することもできます。例: …/_api/web/roledefinitions(1073741829)
GetByName メソッド
指定された名前を持つロール定義を取得します。
エンドポイント |
/getbyname('<role definition name>') |
パラメーター |
型: String |
HTTP method |
GET |
応答 |
型: SP.RoleDefinition |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions
/getbyname('contribute')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GetByType メソッド
指定されたロールの種類を持つロール定義を取得します。
エンドポイント |
/getbytype(<role definition type>) |
パラメーター |
型: Int32 |
HTTP method |
GET |
応答 |
型: SP.RoleDefinition |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roledefinitions
/getbytype(5)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
OData 表現
次の例は、JSON 形式によるRoleDefinitionCollection リソースを表します。
{"d":{
"results":[{
"__metadata":{
"id":"https://<site url>/_api/Web/RoleDefinitions(1073741829)",
"uri":"https://<site url>/_api/Web/RoleDefinitions(1073741829)",
"type":"SP.RoleDefinition"
},{
"__metadata":{
"type":"SP.BasePermissions"},
"High":"2147483647",
"Low":"4294967295"
},
"Description":"Has full control.",
"Hidden":false,
"Id":1073741829,
"Name":"Full Control",
"Order":1,
"RoleTypeKind":5
},{
...
}]
}}
RoleDefinitionBindingCollection リソース
ロール割り当てオブジェクトにバインドされたロール定義を定義します。
エンドポイント URI
http://<site url>/_api/web/roleassignments(<role assignment id>)/roledefinitionbindings
サポートされる HTTP メソッド
GET
要求の例
GET 要求の例: ロール割り当てに対するロール定義のバンドを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/roleassignments(7)
/roledefinitionbindings
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler});
ロール定義にプリンシパル (ユーザーまたはグループ) をバインドするロールの割り当てを作成するには、AddRoleAssignment メソッドを使用します。ロール割り当てを削除するには、「RoleAssignment 要求例」に示すように、RemoveRoleAssignment メソッドを使用するか、DELETE 要求を RoleAssignment リソース エンドポイントに送ります。
OData 表現
次の例は、JSON 形式による RoleDefinitionBindingCollection リソースを表します。
{"d":{
"results":[{
"__metadata":{
"id":"http://<site url>/_api/Web/RoleDefinitions(1073741829)",
"uri":"http://<site url>/_api/Web/RoleDefinitions(1073741829)",
"type":"SP.RoleDefinition"
},{
"__metadata":{
"type":"SP.BasePermissions"},
"High":"2147483647",
"Low":"4294967295"
},
"Description":"Has full control.",
"Hidden":false,
"Id":1073741829,
"Name":"Full Control",
"Order":1,
"RoleTypeKind":5
},{
"__metadata":{
"id":"http://<site url>/_api/Web/RoleDefinitions(1073741827)",
"uri":"http://<site url>/_api/Web/RoleDefinitions(1073741827)",
"type":"SP.RoleDefinition"
},{
"__metadata":{
"type":"SP.BasePermissions"},
"High":"432",
"Low":"1011028719"
},
"Description":"Can view, add, update, and delete list items and documents.",
"Hidden":false,
"Id":1073741827,
"Name":"Contribute",
"Order":64,
"RoleTypeKind":3
}]
}}
User リソース
Microsoft SharePoint Foundation 内のユーザーを表します。User は、SP.Principal の一種です。SP.Principal.
エンドポイント URI | プロパティ | OData 表現
エンドポイント URI
http://<site url>/_api/web/sitegroups(<group id>)/users(@v)?@v='<login name>'
http://<site url>/_api/web/siteusers(@v)?@v='<login name>'
ユーザーのログイン名の形式は、表 1 に示すように、SharePoint 環境により異なります。
表 1 ログイン名の形式
SharePoint 環境 |
ログイン名の形式例 |
クエリ文字列で別名を使用してログイン名を渡す方法 |
---|---|---|
フォームを使用した SharePoint Online、または |
i:0#.f|membership|user@domain.com |
…/users(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com' |
Windows クレームを使用した SharePoint 2013 オンプレミス |
i:0#.w|domain\user |
…/users(@v)?@v='i%3A0%23.w%7Cdomain\user' |
SAML クレームを使用した SharePoint 2013 オンプレミス |
i:05:t|adfs with roles|user@domain.com |
…/users(@v)?@v='i%3A05%3At%7Cadfs+with+roles%7Cuser%40domain.com' |
注意
SAML (Security Assertion Markup Language) ベースのクレーム認証の例で使用するログイン名の形式は、 (ID クレーム) で電子メール アドレスまたはユーザーのプリンシパル名を使用するように構成されていることを前提としています。SAML クレーム認証は、SharePoint でホストされるアプリでは使用できません。
サポートされる HTTP メソッド
GET | POST | DELETE | MERGE | PUT
要求の例
GET 要求の例: ログイン名によりサイトからユーザーを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/siteusers(@v)
?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GET 要求の例: ID によりサイトからユーザーを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/getuserbyid(16)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GET 要求の例: ログイン名によりグループからユーザーを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)
/users(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
電子メール アドレスまたは ID によりグループからユーザーを取得することもできます。「GetByEmail メソッド」と「GetById メソッド」をご覧ください。
MERGE 要求の例: ユーザーの変更
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)
/users(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "POST",
body: "{ '__metadata':{ 'type': 'SP.User' }, 'Title':'New display name' }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "MERGE"
},
success: successHandler,
error: errorHandler
});
PUT 要求の例: ユーザーを置き換えます
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)
/users(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "POST",
body: "{ '__metadata': { 'type': 'SP.User' }, 'Email':'user2@domain.com', 'IsSiteAdmin':false, 'Title':'User 2' }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "PUT"
},
success: successHandler,
error: errorHandler});
グループにユーザーを追加する方法の例については、「UserCollection 要求例」をご覧ください。
DELETE 要求の例: グループからユーザーを削除します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)
/users/getbyid(18)
&@target='<host web url>'",
method: "POST",
headers: { "X-HTTP-Method": "DELETE" },
success: successHandler,
error: errorHandler
});
User リソースの DELETE メソッドを使用してユーザーを削除するには、GetById メソッド または GetByEmail メソッドを使用してユーザー コレクションからユーザーを削除する必要があります。または単に UserCollection リソースの RemoveById メソッド または RemoveByLoginName メソッド を使用することもできます。
User のプロパティ
プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)
/users(@v)/<property name>?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
プロパティ |
型 |
R/W |
説明 |
|
---|---|---|---|---|
String |
RW |
はい |
このプロパティは、SharePoint Online では使用できません。 ユーザーの電子メール アドレスを取得または設定します。 |
|
Groups |
R |
いいえ |
ユーザー がメンバーとして属するグループのコレクションを取得します。 |
|
Id |
Int32 |
R |
はい |
ユーザーまたはグループのメンバー識別子を示す値を取得します。 |
IsHiddenInUI |
Boolean |
R |
はい |
このメンバーを UI で非表示にする必要があるかどうかを示す値を取得します。 |
IsSiteAdmin |
Boolean |
RW |
はい |
ユーザーがサイト コレクション管理者であるかどうかを指定するブール値を取得または設定します。 |
LoginName |
String |
R |
はい |
ユーザーのログイン名を取得します。 |
PrincipalType |
Int32 |
R |
はい |
プリンシパルの種類が含まれている値を取得します。 ビット単位の SP.PrincipalType 値を表します。None = 0、User = 1、DistributionList = 2、SecurityGroup = 4、SharePointGroup = 8、All = 15。 |
Title |
String |
RW |
はい |
プリンシパルの名前を指定する値を取得または設定します。 |
UserId |
R |
はい |
ユーザーの名前識別子と、ユーザーの名前識別子の発行者を含むユーザー情報を取得します。 |
OData 表現
次の例は、JSON 形式による User リソースを表します。
{"d":{
"__metadata":{,
"id":"http://<site url>/_api/Web/GetUserById(16)",
"uri":"http://<site url>/_api/Web/GetUserById(16)",
"type":"SP.User"
},
"Groups":{"__deferred":{"uri":"http://<site url>/_api/Web/GetUserById(16)/Groups"}},
"Id":16,
"IsHiddenInUI":false,
"LoginName":"i:0#.w|domain\\user",
"Title":"User Display Name",
"PrincipalType":1,
"Email":"user@company.com",
"IsSiteAdmin":false,
"UserId":{"__metadata":{"type":"SP.UserIdInfo"}, "NameId":"s-0-0-00-000000-0000000000-0000000000-000000", "NameIdIssuer":"issuer id" }
}}
UserCollection リソース
User リソースのコレクションを表します。
エンドポイント URI | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/siteusers
http://<site url>/_api/web/sitegroups(<group id>)/users
サポートされる HTTP メソッド
GET | POST
要求の例
GET 要求の例: ログイン名によりユーザーを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/siteusers(@v)
?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GET 要求の例: グループのユーザーを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups(7)/users
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
POST 要求の例: グループへのユーザーを追加します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/sitegroups(7)/users
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata': { 'type': 'SP.User' }, 'LoginName':'i:0#.w|domain\\user' }",
headers: {
"accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
},
success: successHandler,
error: errorHandler
});
UserCollection メソッド
GetByEmail
GetById
GetByLoginName
RemoveById
RemoveByLoginName
GetByEmail メソッド
指定された電子メール アドレスを持つユーザーを取得します。
エンドポイント |
/getbyemail('<email address>') |
パラメーター |
型: String |
HTTP method |
GET |
応答 |
型: SP.User |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)/users
/getbyemail('user@domain.com'),
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GetById メソッド
指定されたメンバー識別子 (ID) を持つユーザーを取得します。
エンドポイント |
/getbyid(<user id>) |
パラメーター |
型: Int32 |
HTTP method |
GET |
応答 |
型: SP.User |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)/users
/getbyid(23)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GetByLoginName メソッド
指定したログイン名を持つユーザーを取得します。
エンドポイント |
/getbyloginname(@v)?@v='<login name>' |
パラメーター |
型: String |
HTTP method |
GET |
応答 |
型: SP.User |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)/users
/getbyloginname(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
または単に、UserCollection リソースのログイン名を指定することもできます。例: …/_api/web/siteusers(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
RemoveById メソッド
指定された ID を持つユーザーを削除します。
エンドポイント |
/removebyid(<user id>) |
パラメーター |
型: Int32 |
HTTP method |
POST |
応答 |
なし |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)/users
/removebyid(24)
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
RemoveByLoginName メソッド
指定されたログイン名を持つユーザーを削除します。
エンドポイント |
/removebyloginname(@v)?@v='<login name>') |
パラメーター |
型: String |
HTTP method |
POST |
応答 |
なし |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/sitegroups(7)/users
/removebyloginname(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'
&@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
OData 表現
次の例は、JSON 形式による UserCollection リソースを表します。
{"d":{
"results":[{
"__metadata":{
"id":"http://<site url>/_api/Web/GetUserById(16)",
"uri":"http://<site url>/_api/Web/GetUserById(16)",
"type":"SP.User"
},
"Groups":{"__deferred":{"uri":"http://<site url>/_api/Web/GetUserById(16)/Groups"}},
"Id":16,
"IsHiddenInUI":false,
"LoginName":"i:0#.w|domain\\user1",
"Title":" User1 Display Name ",
"PrincipalType":1,
"Email":"user1@company.com",
"IsSiteAdmin":false,{
"__metadata":{
"type":"SP.UserIdInfo"},
"NameId":"s-0-0-00-000000-0000000000-0000000000-000000",
"NameIdIssuer":"issuer id"
}},{
"__metadata":{
"id":"http://<site url>/_api/Web/GetUserById(21)",
"uri":"http://<site url>/_api/Web/GetUserById(21)",
"type":"SP.User"},
"Groups":{"__deferred":{"uri":"http://<site url>/_api/Web/GetUserById(21)/Groups"}},
"Id":21,
"IsHiddenInUI":false,
"LoginName":"i:0#.w|domain\\user2",
"Title":" User2 Display Name ",
"PrincipalType":1,
"Email":"user2@company.com",
"IsSiteAdmin":false,{
"__metadata":{
"type":"SP.UserIdInfo"},
"NameId":"s-0-0-00-000000-0000000000-0000000000-000001",
"NameIdIssuer":"issuer id"
}
}]
}}
UserCustomAction リソース
SharePoint リスト、Web サイト、またはサブサイトに関連付けられているカスタム アクションを表します。
エンドポイント URI | プロパティ | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/usercustomactions('<user custom action id>')
サポートされる HTTP メソッド
GET | POST | DELETE | MERGE | PUT
要求の例
GET 要求例: カスタム アクションの取得
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/usercustomactions('83393b01-0b73-4af5-9f0e-9ab0750a4ec4')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
MERGE 要求例: カスタム アクションの変更
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/usercustomactions('83393b01-0b73-4af5-9f0e-9ab0750a4ec4')
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata':{ 'type': 'SP.UserCustomAction' }, 'Title':'New title' }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "MERGE"
},
success: successHandler,
error: errorHandler
});
DELETE 要求例: カスタム アクションの削除
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/usercustomactions('83393b01-0b73-4af5-9f0e-9ab0750a4ec4')
?@target='<host web url>'",
method: "POST",
headers: { "X-HTTP-Method": "DELETE" },
success: successHandler,
error: errorHandler
});
カスタム アクションを作成する方法の例については、「UserCustomActionCollection 要求例」をご覧ください。
UserCustomAction のプロパティ
プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/usercustomactions('83393b01-0b73-4af5-9f0e-9ab0750a4ec4')/<property name>
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
プロパティ |
型 |
R/W |
説明 |
|
---|---|---|---|---|
CommandUIExtension |
String |
RW |
はい |
カスタム アクションのユーザー インターフェイス プロパティを決定する、実装に固有の XML フラグメントを指定する値を取得または設定します。 |
Description |
String |
RW |
はい |
カスタム アクションの説明を取得または設定します。 |
Group |
String |
RW |
はい |
ページ内のカスタム アクションの位置を決定する、実装に固有の値を指定する値を取得または設定します。 |
Id |
GUID |
R |
はい |
カスタム アクションの識別子を示す値を取得します。 |
ImageUrl |
String |
RW |
はい |
カスタム アクションと関連付けられているイメージの URL を取得または設定します。 |
Location |
String |
RW |
はい |
カスタム アクションの場所を取得または設定します。 |
Name |
String |
RW |
はい |
カスタム アクションの名前を取得または設定します。 |
RegistrationId |
String |
RW |
はい |
カスタム アクションが関連付けられているオブジェクトの識別子を指定する値を取得または設定します。 |
RegistrationType |
Int32 |
RW |
はい |
カスタム アクションと関連付けられたオブジェクトの種類を指定する値を取得または設定します。SP.UserCustomActionRegistrationType 値を表します。None = 0、List = 1、ContentType = 2、ProgId = 3、FileType = 4。 |
Rights |
RW |
はい |
カスタム アクションで必要とされるアクセス許可を指定する値を取得または設定します。 |
|
Scope |
Boolean |
R |
はい |
カスタム アクションのスコープを示す値を取得します。 |
ScriptBlock |
String |
RW |
はい |
カスタム アクションの実行時に実行される ECMAScript を指定する値を取得または設定します。 |
ScriptSrc |
String |
RW |
はい |
ページで実行する ECMAScript が含まれているファイルの URI を指定する値を取得または設定します。 |
Sequence |
Int32 |
RW |
はい |
ページに表示されるカスタム アクションの順序を決定する、実装に固有の値を指定する値を取得または設定します。 |
Title |
String |
RW |
はい |
カスタム アクションの表示タイトルを取得または設定します。 |
Url |
String |
RW |
はい |
このアクションに関連付けられている URL、URI、または ECMAScript (JScript、JavaScript) 関数を取得または設定します。 |
VersionOfUserCustomAction |
String |
R |
はい |
実装に固有のバージョン識別子を示す値を取得します。 |
UserCustomAction メソッド
DeleteObject メソッド
ファイルを削除するために推奨される方法は、「UserCustomAction 要求の例」に示すように、DELETE 要求を UserCustomAction リソース エンドポイントに送ることです。
OData 表現
次の例は、JSON 形式による UserCustomAction リソースを表します。
{"d":{
"__metadata":{,
"id":"http://<site url>/_api/Web/UserCustomActions(guid'98bffbf9-c911-4c59-a807-cac99647f889')",
"uri":"http://<site url>/_api/Web/UserCustomActions(guid'98bffbf9-c911-4c59-a807-cac99647f889')",
"type":"SP.UserCustomAction"
},
"CommandUIExtension":null,
"Description":"Opens the Shared Documents page",
"Group":"SiteActions",
"Id":"98bffbf9-c911-4c59-a807-cac99647f889",
"ImageUrl":null,
"Location":"Microsoft.SharePoint.StandardMenu",
"Name":null,
"RegistrationId":null,
"RegistrationType":0,
"Rights":{"__metadata":{"type":"SP.BasePermissions"}, "High":"0", "Low":"0"},
"Scope":3,
"ScriptBlock":null,
"ScriptSrc":null,
"Sequence":101,
"Title":"Open Shared Docs",
"Url":"http://<site url>/Shared%20Documents/Forms/AllItems.aspx",
"VersionOfUserCustomAction":"15.0.1.0"
}}
UserCustomActionCollection リソース
UserCustomAction リソースのコレクションを表します。
エンドポイント URI | メソッド | OData 表現
エンドポイント URI
http://<site url>/_api/web/usercustomactions
サポートされる HTTP メソッド
GET | POST
要求の例
GET 要求の例: サイトのカスタム アクションを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/usercustomactions
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
GET 要求の例: カスタム アクションを取得します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/usercustomactions('83393b01-0b73-4af5-9f0e-9ab0750a4ec4')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
POST 要求の例: カスタム アクションを作成します
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/usercustomactions
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata': { 'type': 'SP.UserCustomAction' }, 'Location':'Microsoft.SharePoint.StandardMenu',
'Group':'SiteActions', 'Sequence':'101', 'Title':'Open Shared Docs',
'Description':'Opens the Shared Documents page', 'Url':'~site/Shared%20Documents/Forms/AllItems.aspx' }",
headers: {
"accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
},
success: successHandler,
error: errorHandler
});
カスタム アクションを変更、または削除する方法の例については、「UserCustomAction 要求例」をご覧ください。
UserCustomActionCollection メソッド
Clear メソッド
コレクション内のすべてのカスタム アクションを削除します。
エンドポイント |
/clear |
パラメーター |
なし |
HTTP method |
POST |
応答 |
なし |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/usercustomactions
/clear
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
GetById メソッド
指定された識別子を持つカスタム アクションを返します。
エンドポイント |
/getbyid(<user custom action id>) |
パラメーター |
型: Guid |
HTTP method |
GET |
応答 |
型: SP.UserCustomAction |
要求の例
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/usercustomactions
/getbyid('83393b01-0b73-4af5-9f0e-9ab0750a4ec4')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
または単に、UserCustomActionCollection リソースのアクション ID を指定することもできます。例: …/_api/web/usercustomactions('83393b01-0b73-4af5-9f0e-9ab0750a4ec4')
OData 表現
次の例は、JSON 形式による UserCustomActionCollection リソースを表します。
{"d":{
"results":[{
"__metadata":{
"id":"http://<site url>/_api/Web/UserCustomActions(guid'c38d9d91-c5e8-4fbd-9040-52b03024d2a3')",
"uri":"http://<site url>/_api/Web/UserCustomActions(guid'c38d9d91-c5e8-4fbd-9040-52b03024d2a3')",
"type":"SP.UserCustomAction"
},
"CommandUIExtension":null,
"Description":"Opens the Site Contents page",
"Group":"SiteActions",
"Id":"c38d9d91-c5e8-4fbd-9040-52b03024d2a3",
"ImageUrl":null,
"Location":"Microsoft.SharePoint.StandardMenu",
"Name":"{c38d9d91-c5e8-4fbd-9040-52b03024d2a3}",
"RegistrationId":null,
"RegistrationType":0,{
"__metadata":{ "type":"SP.BasePermissions"}, "High":"0", "Low":"0" },
"Scope":3,
"ScriptBlock":null,
"ScriptSrc":null,
"Sequence":102,
"Title":"Open Site Contents",
"Url":"~site/_layouts/15/viewlsts.aspx",
"VersionOfUserCustomAction":"15.0.1.0"},{
"__metadata":{
"id":"http://<site url>/_api/Web/UserCustomActions(guid'98bffbf9-c911-4c59-a807-cac99647f889')",
"uri":"http://<site url>/_api/Web/UserCustomActions(guid'98bffbf9-c911-4c59-a807-cac99647f889')",
"type":"SP.UserCustomAction"},
"CommandUIExtension":null,
"Description":"Opens the Shared Documents page",
"Group":"SiteActions",
"Id":"98bffbf9-c911-4c59-a807-cac99647f889",
"ImageUrl":null,
"Location":"Microsoft.SharePoint.StandardMenu",
"Name":"{98bffbf9-c911-4c59-a807-cac99647f889}",
"RegistrationId":null,
"RegistrationType":0,{
"__metadata":{ "type":"SP.BasePermissions"}, "High":"0", "Low":"0" },
"Scope":3,
"ScriptBlock":null,
"ScriptSrc":null,
"Sequence":101,
"Title":"Open Shared Docs",
"Url":"http://<site url>/Shared%20Documents/Forms/AllItems.aspx",
"VersionOfUserCustomAction":"15.0.1.0"
}]
}}