2016-09-19 14 views
2

Googleコンタクトのグループに連絡先を追加しようとしています。私はGoogleの「OAuth 2.0 playground」で試してみるが、それはうまく動作するが、Webアプリケーションからは全く同じヘッダー、投稿方法、本文を使って「エラー400:悪い要求」が出る。Googleコンタクトのグループに連絡先を追加する方法api v3

これは私のコード(PHP)です:私はgroupMembershipInfoビットを除外すると

$contact = '<?xml version="1.0"?> 
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005"> 
<gd:name> <gd:fullName>Jack Frost</gd:fullName> </gd:name> 
<gd:email address="[email protected]" rel="http://schemas.google.com/g/2005#home"/> 
<gd:organization rel="http://schemas.google.com/g/2005#work"> 
<gd:orgName>Winter Inc.</gd:orgName> </gd:organization> 
<gd:phoneNumber rel="http://schemas.google.com/g/2005#home"> (206)555-1213 </gd:phoneNumber> 
<gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/[email protected]/base/MY_GROUP_ID"/> 
</atom:entry>'; 

$url = 'https://www.google.com/m8/feeds/contacts/[email protected]/full/'; 
$method= 'POST'; 
$headers = ["Host" => "www.google.com", "Gdata-version" => "3.0","Content-length" => strlen($contact), "Content-type" => "application/atom+xml"]; 
$result = $googleService->request($url,$method,$contact,$headers); 

、それが動作します。 xmlnsを追加することを忘れないでください:

ヨアヒム

答えて

1

はそれを見つけgContact = "schemas.google.com/contact/2008を" あなたのXMLに、それは次のようになります。

<?xml version="1.0"?> 
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" 
xmlns:gd="http://schemas.google.com/g/2005" 
xmlns:gContact="http://schemas.google.com/contact/2008"> 

<gd:name> ... 
+0

これを私にとってはうまくいかないようです。私はそれが 'gContact:groupMembershipInfo'要素を持っていなければならないと思いますか? –

関連する問題