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)
}