# Contacts: get

**Requires [authorization](https://developers.google.com/glass/v1/reference/contacts/get#auth)**

Gets a single contact by ID.
[See an example](https://developers.google.com/glass/v1/reference/contacts/get#examples).

## Request

### HTTP request

```
GET https://www.googleapis.com/mirror/v1/contacts/id
```

### Parameters

| Parameter name | Value | Description |
|---|---|---|
| **Path parameters** |||
| `id` | `string` | The ID of the contact. |

### Authorization

This request requires authorization with the following scope ([read more about authentication and authorization](https://developers.google.com/glass/authorization)).

| Scope |
|---|
| `https://www.googleapis.com/auth/glass.timeline` |

### Request body

Do not supply a request body with this method.

## Response

If successful, this method returns a [Contacts resource](https://developers.google.com/glass/v1/reference/contacts#resource) in the response body.

## Examples

**Note:** The code examples available for this method do not represent all supported programming languages (see the [client libraries page](https://developers.google.com/glass/tools-downloads/client-libraries) for a list of supported languages).

### Java

Uses the [Java client library](https://developers.google.com/glass/tools-downloads/client-libraries).

```java
import com.google.api.services.mirror.Mirror;
import com.google.api.services.mirror.model.Contact;

import java.io.IOException;

public class MyClass {
  // ...

  /**
   * Print information for a contact.
   * 
   * @param service Authorized Mirror service.
   * @param contactId ID of the Contact to print information for.
   */
  public static void printContact(Mirror service, String contactId) {
    try {
      Contact contact = service.contacts().get(contactId).execute();

      System.out.println("Contact displayName: " + contact.getDisplayName());
      if (contact.getImageUrls() != null) {
        for (String imageUrl : contact.getImagesUrls()) {
          System.out.println("Contact imageUrl: " + imageUrl);
        }
      }
    } catch (IOException e) {
      System.err.println("An error occurred: " + e);
    }
  }

  // ...
}
```

### .NET

Uses the [.NET client library](https://developers.google.com/glass/tools-downloads/client-libraries).

```
using System;

using Google.Apis.Mirror.v1;
using Google.Apis.Mirror.v1.Data;

public class MyClass {
  // ...

  /// <summary>
  /// Print information for a contact.
  /// </summary>
  /// <param name='service'>Authorized Mirror service</param>
  /// <param name='contactId'>
  /// ID of the Contact to print information for.
  /// </param>
  public static void PrintContact(MirrorService service,
      String contactId) {
    try {
      Contact contact = service.Contacts.Get(contactId).Fetch();

      Console.WriteLine(
          "Contact displayName: " + contact.DisplayName);
      if (contact.ImageUrls != null) {
        foreach (String imageUrl in contact.ImageUrls) {
          Console.WriteLine("Contact imageUrl: " + imageUrl);
        }
      }
    } catch (Exception e) {
      Console.WriteLine("An error occurred: " + e.Message);
    }
  }

  // ...
}
```

### PHP

Uses the [PHP client library](https://developers.google.com/glass/tools-downloads/client-libraries).

```php
/*
 * Print information for a contact.
 *
 * @param Google_MirrorService $service Authorized Mirror service.
 * @param string $contactId ID of the Contact to print information for.
 */
function printContact($service, $contactId) {
  try {
    $contact = $service->contacts->get($contactId);

    print 'Contact displayName: ' . $contact->getDisplayName();
    if ($contact->getImageUrls() != null) {
      foreach ($contact->getImageUrls() as $imageUrl) {
        print 'Contact imageUrl: ' . $imageUrl;
      }
    }
  } catch (Exception $e) {
    print 'An error occurred: ' . $e->getMessage();
  }
}
```

### Python

Uses the [Python client library](https://developers.google.com/glass/tools-downloads/client-libraries).

```python
from apiclient import errors
# ...

def print_contact(service, contact_id):
  """Print information for a contact.

  Args:
    service: Authorized Mirror service.
    contact_id: ID of the Contact to print information for.
  """
  try:
    contact = service.contacts().get(id= contact_id).execute()
    print 'Contact displayName: %s' % contact.get('displayName')
    for image_url in contact.get('imageUrls', []):
      print 'Contact imageUrl: %s' % image_url
  except errors.HttpError, error:
    print 'An error occurred: %s' % error
```

### Ruby

Uses the [Ruby client library](https://developers.google.com/glass/tools-downloads/client-libraries).

```ruby
##
# Print information for a contact.
#
# @param [Google::APIClient] client
#   Authorized client instance.
# @param [String] contact_id
#   ID of the contact to print information for.
# @return nil
def print_contact(client, contact_id)
  mirror = client.discovered_api('mirror', 'v1')
  result = client.execute(
    :api_method => mirror.contacts.get,
    :parameters => { 'id' => contact_id })
  if result.success?
    contact = result.data
    puts "Contact displayName: #{contact.displayName}"
    contact.image_urls.each do |image_url|
      puts "Contact imageUrl: #{image_url}"
    end
  else
    puts "An error occurred: #{result.data['error']['message']}"
  end
end
```

### Go

Uses the [Go client library](https://developers.google.com/glass/tools-downloads/client-libraries).

```go
import (
        "code.google.com/p/google-api-go-client/mirror/v1"
        "fmt"
)

// PrintContact prints information for a contact.
func PrintContact(g *mirror.Service, contactId string) error {
        s, err := g.Contacts.Get(contactId).Do()
        if err != nil {
                fmt.Printf("An error occurred: %v\n", err)
                return err
        }
        fmt.Printf("Contact displayName: %s\n", s.DisplayName)
        for _, i := range s.ImageUrls {
                fmt.Printf("Contact imageUrl: %s\n", i)
        }
        return nil
}
```

### Raw HTTP

Does not use a client library.

```
GET /mirror/v1/contacts/harold HTTP/1.1
Authorization: Bearer auth token
```