Guzzle发布请求导致400 Bad Request

时间:2016-01-19 09:50:44

标签: php guzzle

我是google drive api的新手。 当我运行以下代码时(我从here获得)我收到以下错误:

  

致命错误:未捕获的异常' GuzzleHttp \ Exception \ ClientException'消息'客户端错误:POST https://spreadsheets.google.com/feeds/list/1AnZ9_h3jnKogvx5AIftxypGnGM0f2P4r_ut4RGFC7AQ/od6/private/full导致400 Bad Request响应'

代码:

$postBody = '<entry xmlns="http://www.w3.org/2005/Atom"       xmlns:gsx="http://schemas.google.com/spreadsheets/2006/extended"><gsx:gear>more gear</gsx:gear><gsx:quantity>44</gsx:quantity></entry>';
echo "BBBB<br>";
$httpClient = new GuzzleHttp\Client(['headers' => $headers]);
echo "CCCC<br>";
$resp = $httpClient->request($method, $url, ['body' => $postBody]);
echo "DDDD<br>";
$body = $resp->getBody()->getContents();
$code = $resp->getStatusCode();
$reason = $resp->getReasonPhrase();
echo "$code : $reason\n\n";
echo "$body\n";

有人可以帮我找到错误吗?

1 个答案:

答案 0 :(得分:0)

虽然这与Guzzle无关,但我找到了另一种方法来完成我的任务。 创建表单后,请转到“回复”菜单,然后选择“获取预填充的网址&#39;

填写您获得的虚拟表格并提交。然后您将获得一个URL。在这里更改&#39; viewResponse&#39;到&#39; formResponse&#39;

将数据附加到URL的必要部分。 向此网址发送请求以自动填写Google表单并提交