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