5

jsonを介してGoogleドライブにファイルを作成してドライブフォルダに入れることができます。

$data = array(
    "title" => $_FILES['file']['name'],
    "parents" => array(array(
        "kind" => "drive#parentReference",
        "id" => $parent_id
    )),
    "mimeType" => "application/pdf"
);
$data = json_encode($data);

$url = "https://www.googleapis.com/drive/v2/files?oauth_token=".$accessToken;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

しかし、Googleドライブのドキュメントでjson属性が指定されていないため、PDFファイルを追加する方法が見つかりません。

ファイルの内容はどこに追加する必要がありますか?これは可能ですか?

アップロード/ドライブするファイルをアップロードしてから、フォルダーIDのメタデータをアップロードする必要がありますか?その意味がわかりません。

4

1 に答える 1

2

ファイルを本文(つまり、CURLOPT_POSTFIELDS)に配置します。ファイルタイプとContent-Lengthに一致するContent-Typeも指定する必要があります。

これは十分に文書化されています

ファイルメタデータは、/ upload / drive / v2/filesではなく/drive/ v2/filesに配置する必要があります。

このように、2つのリクエストを行う必要があります。

ファイルとメタの両方を同時に実行する場合は、APIとファイル挿入を使用できます。

https://developers.google.com/drive/v2/reference/files/insert

これを簡単にするためのPHPライブラリがあることに注意してください。

于 2012-11-20T23:25:26.803 に答える