我試圖用JavaScript測試Google Contacts API。我知道V1支持JavaScript,但V2和V3沒有列出它。但是,我已經能夠找到一種通過AJAX請求來檢索聯繫人的方法,因此獲取聯繫人現在不是真正的問題。但是,我希望能夠指定我正在查找的聯繫人的搜索條件,這樣我就不必在所有用戶聯繫人中進行尋呼和搜索。如何使用查詢參數限制Google Contacts API中檢索到的聯繫人
現在,我的代碼如下所示:
function getContact(domTarget) {
// Get permission and a token
auth(function(token) {
// Create an AJAX request to get the contacts
var ajaxContactRequest = new XMLHttpRequest(),
url = "";
// What to do when we get our contacts
ajaxContactRequest.onreadystatechange = function() {
if (ajaxContactRequest.readyState === 4 && ajaxContactRequest.status === 200) {
// Parse our contact data as a JSON object
var response = JSON.parse(ajaxContactRequest.responseText),
contactArray = response.feed.entry, i, contactDiv;
// Print out the contacts
if (domTarget) {
for (i = 0; i < contactArray.length; i++) {
if (contactArray[i].title && contactArray[i].title.$t) {
contactDiv = document.createElement("div");
domTarget.appendChild(contactDiv);
// Print out the contact's name
contactDiv.innerHTML = contactArray[i].title.$t;
}
}
}
}
};
// Construct our URL
url += "https://www.google.com/m8/feeds/contacts/default/full/";
// Add the access token
url += "?access_token=" + token.access_token;
// Get JSON format back
url += "&alt=json";
// Limit to 10 results
url += "&max-results=10";
// Open the request
ajaxContactRequest.open("GET", url, false);
// Send it away
ajaxContactRequest.send();
});
}
我知道有某種支持查詢,因爲這裏的上市:Retrieving Contacts Using Query Parameters提到,您可以使用這裏找到參數:Contacts Query Parameters Reference列出q=term1 term2 term 3
和`q =「term1 term2 term3」是執行「對聯繫人數據字段進行全文查詢」的方式。
我嘗試了幾種不同的參數混合,例如名字和姓氏以及日期和電子郵件。但是,他們沒有一個對結果有任何影響。我想知道的另一件事是,如果這真的很重要。我限制基於名稱的查詢,以嘗試縮小響應的大小。但是,如果更好的做法是隻抓取整個聯繫人集合,然後收集所需信息,我想我可以做到這一點。
我想你必須做多個請求,如果聯繫人的數量大於max-results
大小。
嗨,你解決了這個問題嗎?目前有同樣的問題。 – Albert