Нужно найти имя и фамилию из Google Contact API

Мне нужно получить контакт Google, используя jquery. и у меня есть успех полностью реализовать. но в чем проблема, я не могу получить имя этого контакта. Google просто предоставляет мне адрес электронной почты этого пользователя. никакая другая информация не предоставляется пользователем. так что я что-то пропустил

Здесь я прилагаю полный код с ответом.

Вот полный код

<script type="text/javascript" src="https://apis.google.com/js/client.js"></script>
<script type="text/javascript">
    var clientId = "google_clientId";
    var apiKey = "google_api_key";
    var scopes = 'https://www.google.com/m8/feeds/';
    $(document).on("click", ".googleContactsButton", function (e) {
        gapi.client.setApiKey(apiKey);
        window.setTimeout(authorize);
    });
    function authorize() {
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthorization);
    }

    function handleAuthorization(authorizationResult) {
        if (authorizationResult && !authorizationResult.error) {

            $.get("https://www.google.com/m8/feeds/contacts/default/full?alt=json&access_token=" + authorizationResult.access_token + "&alt=json",
                    function (response) {
                        //process the response here
                        console.log(JSON.stringify(response));

                    });
        }
    }
</script>

Вот ответ API

[
  {
    "id": {
      "$t": "http://www.google.com/m8/feeds/contacts/ishan%40inheritx.com/base/87427988f9359bf"
    },
    "updated": {
      "$t": "2016-07-21T08:09:55.053Z"
    },
    "category": [
      {
        "scheme": "http://schemas.google.com/g/2005#kind",
        "term": "http://schemas.google.com/contact/2008#contact"
      }
    ],
    "title": {
      "type": "text",
      "$t": ""
    },
    "link": [
      {
        "rel": "http://schemas.google.com/contacts/2008/rel#edit-photo",
        "type": "image/*",
        "href": "https://www.google.com/m8/feeds/photos/media/ishan%40inheritx.com/87427988f9359bf/1B2M2Y8AsgTpgAmY7PhCfg"
      },
      {
        "rel": "self",
        "type": "application/atom+xml",
        "href": "https://www.google.com/m8/feeds/contacts/ishan%40inheritx.com/full/87427988f9359bf"
      },
      {
        "rel": "edit",
        "type": "application/atom+xml",
        "href": "https://www.google.com/m8/feeds/contacts/ishan%40inheritx.com/full/87427988f9359bf/1469088595053001"
      }
    ],
    "gd$email": [
      {
        "rel": "http://schemas.google.com/g/2005#other",
        "address": "prakash@inheritx.com"
      }
    ]
  }
]

В ответ мы не нашли ни одного поля, как имя и фамилия. любая помощь будет признательна.

Но если я добавил Имя вручную, то оно отображается в ключе заголовка. но если это имя контакта синхронизируется с Google+, то оно показывает меня пустым.

Спасибо

2 ответа

Добавьте &v=3 в конец URL. Это заполнит поле имени. Однако, поскольку поле заголовка в ответе пустое, это означает, что к этому конкретному контакту не применено никакого имени.

Кроме того, не связано и безвредно, но похоже, что вы дважды указываете alt=json в параметрах URL-запроса.

мы не нашли ни одного поля, как имя и фамилия. любая помощь будет оценена

Получить полное имя вашего контакта немного сложно. Используя игровую площадку Contactsv3, вот как я это сделал:

  1. Во-первых, вам нужно знать contactId вашего контакта. Как?

    GET https://www.google.com/m8/feeds/contacts/{your_userEmail}/full

    Этот запрос URI вернет все контакты, связанные с вашей электронной почтой. Теперь contactId найден в XML <id> tag, <id>http://www.google.com/m8/feeds/contacts/../base/123456789abcdefg</id>

    В этом случае 123456789abcdefg является идентификатором контакта определенного человека. Полное имя находится в <title> тег.
    <title type="text">John Carmack</title>

  2. Чтобы получить контактные данные человека индивидуально, в отличие от шага 1, используйте: GEThttps://www.google.com/m8/feeds/contacts/{your_userEmail}/full/123456789abcdefg

Теперь вы должны проанализировать этот ответ и использовать его соответствующим образом. Я не проверял, есть ли формат JSON, но я надеюсь, что это поможет вам.

Другие вопросы по тегам