2017-06-13 12 views
0

O365 OneDrive Web UIから簡単にURLファイルを作成できます。右クリック>新規>リンクをクリックします。 URLを入力して保存します。新しい項目がUIに表示され、クリックすると新しいURLに直接移動します。そのURLはwww.google.comです。OneDrive Web UIでURLファイルを作成できますが、Graph APIで正しく作成できません

私はGraph APIでこれを複製しようとしています。

GET /me/drive/items/{folderId}/children 
with: 
{ name:'www.google.com.url', 
    file:{} 
} 

それはOneDrive UI内のリンクと思われるものを作成しますが、クリックされたとき、それはURLに行くことができないだろう、ファイルをダウンロードしようとします。私は.urlサフィックスの有無にかかわらず作成しようとしました。 APIはかなり限定されているように見え、渡すオプションはあまりありません。私は同じ問題をベータAPIも試しました。

答えて

1

リンクは、実際にはINIファイルに類似した特殊な構文を持つファイルです。ここに含まれているサンプルから、 "www.google.com.url"という名前の空の(0バイト)ファイルを作成しているようです。空のファイルは、.URLファイルに必要な形式と一致しないため、OneDriveはファイルの処理方法を知らず、ファイルをダウンロードするだけです。

プログラムでリンクを作成するには、このような要求を行う必要があります:

PUT https://graph.microsoft.com/v1.0/me/drive/root/children/ShortcutToBing.url/content 
Content-Type: text/plain 

[InternetShortcut] 
URL=https://www.bing.com 

これはShortcutToBing.urlという名前のファイルを作成し、要求の下のテキストを使用してファイルの内容を記入します.URLファイルの内容であり、www.bing.comを指しています。

+0

お返事ありがとうございました!私はGraph APIが本当に好きですが、うまくいきますが、このような小さなことがどこかに書かれていれば良いでしょう。多分彼らはそうですが、見つけるのは簡単ではありません。とにかく、もう一度ありがとう! – Bryan

+0

この場合、APIにはSharePointのような「リンク」に関する特別な概念はありません。以前は.URLファイルの形式が定義されていたため、SharePointの動作に関する特別な動作が追加されました。ファイル形式が適切に定義されているので、フォーマットに一致するファイルをアップロードすることができます(これはAPIが提供しているものです)。これをより直接的に有効にするには、 "リンク"の概念をより豊かにサポートすることは興味深いようです。 –

関連する問題