gContact命名空间不起作用

时间:2017-03-06 16:59:40

标签: google-contacts

我正在尝试将联系人数据发布到GContact以创建新联系人。如果我只使用" gd"我可以创建一个新的联系人XML元素,但当我尝试发布" gContact"它给了我一个错误。我确定它很简单,因为我是一个非常业余的人,但我会感激任何帮助。

这有效

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005">
    <atom:category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact" />
    <gd:name>
        <gd:givenName>Jack</gd:givenName>
        <gd:familyName>Masters</gd:familyName>
        <gd:fullName>Jack Masters</gd:fullName>
        <gd:additionalName>Rascal</gd:additionalName>
        <gd:namePrefix>Sir</gd:namePrefix>
        <gd:nameSuffix>II</gd:nameSuffix>
    </gd:name>
    <atom:content type="text">These are some testing notes.</atom:content>
    <gd:email rel="http://schemas.google.com/g/2005#work" address="newtestAddress@gmail.com" primary="true" />
    <gd:phoneNumber rel="http://schemas.google.com/g/2005#home" primary="true">716-999-0098</gd:phoneNumber>
    <gd:phoneNumber rel="http://schemas.google.com/g/2005#work">666-8765-9087</gd:phoneNumber>
    <gd:structuredPostalAddress rel="http://schemas.google.com/g/2005#home">
        <gd:formattedAddress>3546 Madison Street, Chicago IL, 56879</gd:formattedAddress>
        <gd:street>3546 Madison Street</gd:street>
        <gd:city>Chicago</gd:city>
        <gd:state>IL</gd:state>
        <gd:country>USA</gd:country>
    </gd:structuredPostalAddress>
</atom:entry>

但这不是

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005">
    <atom:category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact" />
    <gd:name>
        <gd:givenName>Jack</gd:givenName>
        <gd:familyName>Masters</gd:familyName>
        <gd:fullName>Jack Masters</gd:fullName>
        <gd:additionalName>Rascal</gd:additionalName>
        <gd:namePrefix>Sir</gd:namePrefix>
        <gd:nameSuffix>II</gd:nameSuffix>
    </gd:name>
    <atom:content type="text">These are some testing notes.</atom:content>
    <gd:email rel="http://schemas.google.com/g/2005#work" address="newtestAddress@gmail.com" primary="true" />
    <gd:email rel="http://schemas.google.com/g/2005#home" address="evenNewerAddress@yahoo.com" />
    <gd:phoneNumber rel="http://schemas.google.com/g/2005#home" primary="true">716-999-0098</gd:phoneNumber>
    <gd:phoneNumber rel="http://schemas.google.com/g/2005#work">666-8765-9087</gd:phoneNumber>
    <gd:structuredPostalAddress rel="http://schemas.google.com/g/2005#home">
        <gd:formattedAddress>3546 Madison Street, Chicago IL, 56879</gd:formattedAddress>
        <gd:street>3546 Madison Street</gd:street>
        <gd:city>Chicago</gd:city>
        <gd:state>IL</gd:state>
        <gd:country>USA</gd:country>
    </gd:structuredPostalAddress>
    <gContact:groupMembershipInfo href="http://www.google.com/m8/feeds/groups/default/base/14b3e56788eb41b8" />
</atom:entry>

我尝试了许多不同的gContact元素,但似乎没有任何效果。我每次都得到400个HTTP响应代码。

这是回复细节。我似乎无法确定错误的位置。

Optional(<NSHTTPURLResponse: 0x600000234480> { URL: https://www.google.com/m8/feeds/contacts/default/full?alt=json } { status code: 400, headers {
    "Cache-Control" = "private, max-age=0";
    "Content-Encoding" = gzip;
    "Content-Type" = "text/plain; charset=UTF-8";
    Date = "Tue, 07 Mar 2017 16:02:17 GMT";
    Expires = "Tue, 07 Mar 2017 16:02:17 GMT";
    Server = GSE;
    "alt-svc" = "quic=\":443\"; ma=2592000; v=\"36,35,34\"";
    "x-content-type-options" = nosniff;
    "x-frame-options" = SAMEORIGIN;
    "x-xss-protection" = "1; mode=block"; } })

2 个答案:

答案 0 :(得分:0)

您可能希望针对Standard Error Responses中提供的错误代码400尝试这些建议的操作:

  • invalidParameter
      

    如果不解决问题,请勿重试。您需要为错误响应中指定的参数提供有效值。

  • badRequest
      

    如果不解决问题,请勿重试。您需要对API查询进行更改才能使其生效。

您可能还想查看此相关SO post,以获取可能对您有所帮助的其他见解。

答案 1 :(得分:0)

我明白了。我实际上格式化了我尝试不正确的每个gContact元素。我曾尝试过4个不同的东西,错误地认为这是我没有设定的情境。实际上我用不同的方式将所有四个错误格式化了。新的程序员经验教训。