---
title: "Google Picker token"
description: "A short-lived Google access token (scope drive.file) and the Picker's keys, so the browser can open the Google Picker on your own Drive."
canonical_url: https://docs.markdrop.in/api/meetings/google-picker-token
last_updated: 2026-11-04
site: "Markdrop Docs"
index: https://docs.markdrop.in/llms.txt
---

# Google Picker token

`POST https://api.markdrop.in/api/v1/meetings/google/token`

A short-lived Google access token (scope drive.file) and the Picker's keys, so the browser can open the Google Picker on your own Drive. Markdrop can then read only the Docs you pick. 428 `reconnect_required` when Google Docs isn't connected.

- **Authentication:** API token required: `Authorization: Bearer mdk_…`.
- **Rate limit:** 30 per minute per IP address.
- **Guide:** [Meetings](https://docs.markdrop.in/workspaces/meetings)

## Responses

- `200`: OK.
- `401`: No token, or the token is revoked or mistyped.
- `429`: Too many requests from your IP address. Wait the seconds in `Retry-After`.

## Examples

**curl**

```bash
curl -X POST https://api.markdrop.in/api/v1/meetings/google/token \
  -H "Authorization: Bearer $MARKDROP_TOKEN"
```

**JavaScript**

```javascript
const res = await fetch("https://api.markdrop.in/api/v1/meetings/google/token", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MARKDROP_TOKEN}`,
  },
});
const data = await res.json();
```

**Python**

```python
import os

import requests

r = requests.post(
    "https://api.markdrop.in/api/v1/meetings/google/token",
    headers={"Authorization": f"Bearer {os.environ['MARKDROP_TOKEN']}"},
)
r.raise_for_status()
print(r.json())
```
