API 参考
Contacts
读取、创建和更新设备联系人。
类型定义
bash
type Contact {
id: ID!
prefix: String!
firstName: String!
middleName: String!
lastName: String!
suffix: String!
nickname: String!
photoId: String! # use GET /fs?id=<photoId>
phoneNumbers: [ContactPhoneNumber!]!
emails: [ContentItem!]!
addresses: [ContentItem!]!
events: [ContentItem!]! # birthdays, anniversaries
source: String! # account type e.g. "com.google"
starred: Boolean!
contactId: ID!
thumbnailId: String!
notes: String!
groups: [ContactGroup!]!
organization: Organization
websites: [ContentItem!]!
ims: [ContentItem!]!
ringtone: String!
updatedAt: String!
}
type ContactPhoneNumber {
value: String!
type: Int! # 1=home 2=mobile 3=work
label: String!
normalizedNumber: String!
}
type ContentItem {
value: String!
type: Int!
label: String!
}
type Organization {
company: String!
title: String!
}
type ContactGroup {
id: ID!
name: String!
contactCount: Int!
}
type ContactSource {
name: String!
accountType: String!
}
input ContactInput {
firstName: String
lastName: String
phoneNumbers: [ContactPhoneNumberInput]
emails: [ContentItemInput]
organization: OrganizationInput
}操作
query
contacts
搜索联系人。查询留空可列出全部。
bash
query GetContacts($offset: Int!, $limit: Int!, $query: String!) {
contacts(offset: $offset, limit: $limit, query: $query) {
id firstName lastName phoneNumbers { value type }
emails { value } source starred updatedAt
}
}query
contactCount
统计匹配查询的联系人数量。
bash
query GetContactCount($query: String!) {
contactCount(query: $query)
}query
contactSources
列出可用的联系人帐户来源。
bash
query GetContactSources {
contactSources { name accountType }
}query
contactGroups
列出所有联系人分组。
bash
query GetContactGroups {
contactGroups { id name contactCount }
}mutation
createContact
创建新联系人。
bash
mutation CreateContact($input: ContactInput!) {
createContact(input: $input) { id firstName lastName phoneNumbers { value } }
}mutation
updateContact
更新现有联系人。仅修改所提供的字段。
bash
mutation UpdateContact($id: ID!, $input: ContactInput!) {
updateContact(id: $id, input: $input) { id firstName lastName updatedAt }
}mutation
deleteContacts
删除所有匹配查询的联系人。
bash
mutation DeleteContacts($query: String!) {
deleteContacts(query: $query)
}mutation
createContactGroup
在指定帐户中创建联系人分组。
bash
mutation CreateContactGroup($name: String!, $accountName: String!, $accountType: String!) {
createContactGroup(name: $name, accountName: $accountName, accountType: $accountType) {
id name contactCount
}
}mutation
updateContactGroup
重命名联系人分组。
bash
mutation UpdateContactGroup($id: ID!, $name: String!) {
updateContactGroup(id: $id, name: $name) { id name }
}mutation
deleteContactGroup
删除联系人分组。组中的联系人不会被删除,仅取消分组。
bash
mutation DeleteContactGroup($id: ID!) {
deleteContactGroup(id: $id)
}