0

リクエストを送信する代わりに、この出力「エラー:リクエストされたURLがエラーを返しました:400」を返す理由

$ headers = array( "Authorization:GoogleLogin auth="。$this->auth。""、
                      "GData-バージョン:2.0"、
                      "転送エンコーディング:チャンク"、
                      「Content-Type:application / atom+xml」
                      );

$xmlstr = "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gAcl='http://schemas.google.com/acl/2007' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/\"DU4ERH47eCp7ImA9WxRVEkQ.\"'> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/acl/2007#accessRule'/> <gAcl:scope type='user' value='$email_id'></gAcl:scope> <gAcl:role value='http://schemas.google.com/gCal/2005#read'></gAcl:role> </entry>"; $url = "http://www.google.com/calendar/feeds/$cal_id/acl/full/user%3A".urlencode($email_id).""; curl_setopt($this->curl, CURLOPT_URL, $url); curl_setopt($this->curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($this->curl, CURLOPT_CUSTOMREQUEST, 'DELETE'); curl_setopt($this->curl, CURLOPT_POSTFIELDS, $xmlstr); curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($this->curl, CURLOPT_AUTOREFERER, true); curl_setopt($this->curl, CURLINFO_HEADER_OUT, false); curl_setopt($this->curl, CURLOPT_VERBOSE, true); curl_setopt($this->curl, CURLOPT_FAILONERROR, true); curl_setopt($this->curl, CURLOPT_COOKIESESSION, true); curl_setopt($this->curl, CURLOPT_HEADER, 0); curl_setopt($this->curl, CURLOPT_UNRESTRICTED_AUTH, true); $response = curl_exec($this->curl);
4

1 に答える 1

1

もちろん、PHP API は最も古いバージョンの V1 を使用していることに注意してください :( そのため、ACL を更新するために使用する xml は、V2 のガイドとは少し異なります。

私が使用しているのは次のとおりです。

<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gAcl='http://schemas.google.com/acl/2007' >
          <category scheme='http://schemas.google.com/g/2005#kind'
            term='http://schemas.google.com/acl/2007#accessRule'/>

「gd:etag」要素を使用しないように注意してください。

残りの xml は同じです。また、別の提案として、URL をHTTPではなくHTTPSに変更し、「xoauth_requestor_id=」を追加します。urlencode($USER) 必要に応じて。

これで準備が整いました。お役に立てるかどうかお知らせください。

于 2012-04-12T03:16:04.517 に答える