0

Zendライブラリを使用せずにGoogleドキュメントで新しいスプレッドシートを作成しようとしています。ドキュメントを読み、手順を実行しようとしましたが、行き詰まりました。私のコードは次のようになります

    $curl = curl_init();

    $headers = array(
        "GData-Version: 3.0",
        "Authorization: GoogleLogin auth=" . $myToken,
        "Content-Length: 350",
        "Content-Type: application/atom+xml",
        "X-Upload-Content-Length: 0"
    );      

    $post_field = '<?xml version="1.0" encoding="UTF-8"?>
        <entry xmlns="http://www.w3.org/2005/Atom" xmlns:docs="http://schemas.google.com/docs/2007">
        <category scheme="http://schemas.google.com/g/2005#kind"
            term="http://schemas.google.com/docs/2007#spreadsheet"/>
        <title>Mytitle</title>
        </entry>';

    curl_setopt($curl, CURLOPT_URL, 'https://docs.google.com/feeds/upload/create-session/default/private/full');
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_field);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);      

    $response = curl_exec($curl);
    curl_close($curl);

トークンを使用してGoogleドキュメントからデータを取得できるため、トークンは正常に機能しているようです。驚いたのは、APIから応答がないことです。さまざまな解決策を試していると、通常はエラーメッセージが表示されますが、ここでは応答文字列が空です。

4

2 に答える 2

2

再開可能なアップロード セッション (https://developers.google.com/gdata/docs/resumable_upload) を開始するリクエストを送信していますが、実際のコンテンツは送信していません。

空のファイルを作成する場合、再開可能なアップロードは必要ありません。代わりに、リクエストをhttps://docs.google.com/feeds/default/private/fullに送信してください

于 2012-07-09T03:26:27.583 に答える
1

可能であれば、代わりに Google Drive APIのfiles.insertメソッドを使用してください。

于 2012-07-10T15:11:52.033 に答える