簡體   English   中英

谷歌api php客戶端 - Http put請求

[英]Google api php client - Http put request

我正在嘗試使用google-api-php-client創建一個Http put請求。 Oauth工作正常,我可以得到請求,但我無法弄清楚如何做一個put。

//While looping over my contacts
$apiClient = new ApiClient();
$apiClient->setAccessToken($this->Auth->user('google_oauth2_token'));

//Getting fresh XML data since I transformed mine into an array
$contactGetRequest = new apiHttpRequest($contact['link'][1]['@href'], 'GET', array('GData-Version' => 3.0));   
$rawContactData = $apiClient->getIo()->authenticatedRequest($contactGetRequest);

$contactXml = Xml::build($rawContactData->getResponseBody());

//Not changing anything, just trying to do a PUT request
$contactPutRequest = new apiHttpRequest($contact['link'][2]['@href'], 'PUT', array('GData-Version' => 3.0), $contactXml->asXML());
$response = $apiClient->getIo()->authenticatedRequest($contactPutRequest);

錯誤是“Content-Type application / x-www-form-urlencoded不是有效的輸入類型。”。

它似乎正在嘗試POST。 執行PUT請求的正確方法是什么?

我找到了。 必須在headers參數中設置Content-type值。 我認為這是自動完成的。

$contactPutRequest = new apiHttpRequest($contact['link'][2]['@href'], 'PUT', array('GData-Version' => 3.0, 'Content-type' => 'application/atom+xml; charset=UTF-8; type=entry'), $contactXml->asXML());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM