2017-11-01 8 views
1

特定のユーザーに対してMicrosoft GraphからcreateLinkという文書を共有するためのリンクを作成しようとしていますが、の許可を得てリンクを作成しています。createLinkを使用して特定のユーザーと共有する

私はこのエンドポイントを呼んでいる:

このリクエストボディで
POST /me/drive/items/{itemId}/createLink  

{ 
    "type": "edit", 
    "scope": "anonymous" 
} 

私は何かが足りないのですか?

+0

'' type '': "edit" 'あなたは他に何を期待しますか? – Will

+0

特定のユーザーのリンクを作成するためのリクエストパラメータはありますか? –

+0

私は分かりません。リクエスト本文のドキュメントを確認してください。 – Will

答えて

3

createLinkを特定の人と共有することはできません。そのためにはinviteエンドポイントを使用する必要があります。

あなたが行っている呼び出しは、どのように求めているかを正確に応答し、誰でも(anonymous)がアクセスできるリンク(createLink)を生成しています。

あなたは物理的な招待状を送信したくない場合は、あなたがfalsesendInvitationプロパティを設定することにより、これをOneDrive伝えることができます:

POST /me/drive/items/{item-id}/invite 
Content-type: application/json 

{ 
    "requireSignIn": true, 
    "sendInvitation": false, 
    "roles": [ "write", "read"], 
    "recipients": [ 
    { 
     "email": "[email protected]" 
    } 
    ] 
} 
+0

招待apiは共有URLを返しません。それをどうやって得るのですか? – aandis

+0

URLはあなたが共有した 'DriveItem'の' webUrl'プロパティです。 –

+0

ありがとう!あなたはhttps://stackoverflow.com/questions/48522229/using-microsofts-secure-external-sharing-via-graph-apiにお答えください。 – aandis

0

このリンクを参照してくださいhttps://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_invite あなたは、特定のユーザーとファイルを共有することができますユーザーを 「受信者」に追加することで、[{"@ odata.type": "microsoft.graph.driveRecipient"}] パラメータを追加します。 "sendInvitation"のようなsendInvitationパラメータを設定して、招待メールの送信を避けることができます。

+0

私はすでに招待状エンドポイントを使用せずにやりたいと述べました。 –

関連する問題