したがって、graph.microsoft.comで認証を取得するのに苦労した後、私は今SharePointサイトとリストを読むことができます。Sharepointは、graph.microsoft.comベータとphp/cakephpでファイルの内容をアップロードします
私もドライブを読み取ることができ、私はREST呼び出しでteamsiteにフォルダとファイルを作成することができました。問題は、私は "ファイルを作成"することができますが、それはmy.sharepoint.comに表示され、コンテンツの長さは0です。
私はそれを通して私を導くために、このページを使用: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/listitem_create
$currentFile = new File($file);
$contents = $currentFile->read();
$currentFile->close();
$url = 'https://graph.microsoft.com/beta/sharePoint/site/drives/'.$this->driveId.'/'.$location.'/items/'.$parent_id.'/children';
$tempData = $this->Controller->Temp->read('Office');
$headers = array('Authorization' => 'Bearer '.$tempData['token']['access_token'], 'Content-Type' => 'application/json');
$data = json_encode(array('name' => basename($file), 'file' => new stdClass()));
$sckt = new HttpSocket(array('ssl_verify_host' => false));
$apiData = $sckt->post($url, $data, array('header' => $headers));
私は$の内容を送信していない午前見ることが正しいですが、次のように私は、ファイルを作成するために使用されるコードがありますこれはリクエストを破棄するため、varsonongとjsonリクエストを一緒にします。そして私はOneDriveのセクションで、ファイル内容がjsonを通してバイナリ形式の文字列として送信されることを見た。ここでは)json配列で、しかし、私はちょうど "不正なリクエスト"を取得します。私はtext/plainとして投稿しようとしましたが、jsonのリクエストしか受け付けません。 Form/multipartもうまくいきませんでしたので、私は何種類かのオプションと配列キーを試していましたが、何も私のファイルの内容をsharepointに持ってこないようです。
「Columnset」 (https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/listitem_update)でも同じことを試しました。
要約:ファイルの作成、フォルダの作成、変更、メタデータの更新と作成、名前の変更ができるようになりました。しかし、私はファイルの内容をアップロードすることはできません!
現時点では私はそれがちょうど愚かな私は見ていないことを望んでいるので、あなたは私を笑って、あなたが笑って終わった後にいくつかの素晴らしい助言を与えることができます。なぜなら、ベータ版では動作するものではなく、ちょっと変わった感じがするからです。
おかげで、しかし、私はOneDriveのため、この唯一の作品だと思う「BadRequest」、 「メッセージ」:「エンティティのみJSONのContent-Typeヘッダーで書き込みを許可します。 "、 –