# Remove Sharing — Google Drive

> Remove a sharing permission from a file or folder in Google Drive. This revokes access for the specified permission. Use List Permissions first to find the permission ID to remove. The owner permission cannot be removed. Use Search Files…

- Key: `google_drive-remove-sharing`
- Type: Action (Write)
- Version: 0.0.4
- App: Google Drive (`google_drive`) — https://pipedream.com/apps/google-drive.md
- This page (HTML): https://pipedream.com/apps/google-drive/actions/remove-sharing
- Hints: destructive · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/google_drive/actions/remove-sharing/remove-sharing.mjs

## Description

Remove a sharing permission from a file or folder in Google Drive. This revokes access for the specified permission. Use **List Permissions** first to find the permission ID to remove. The owner permission cannot be removed. Use **Search Files** to find the file ID by name if needed. [See the documentation](https://developers.google.com/drive/api/v3/reference/permissions/delete)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `fileId` | `string` | Yes | The ID of the file or folder to remove the sharing permission from. Use Search Files to find the file ID by name. |
| `permissionId` | `string` | Yes | The ID of the permission to remove. Use List Permissions to find the permission ID. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "google_drive",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "google_drive-remove-sharing",
  arguments: {
    fileId: "File ID",
    permissionId: "Permission ID",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "google_drive-remove-sharing",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    google_drive: { authProvisionId: "apn_xxxxxxx" },
    fileId: "File ID",
    permissionId: "Permission ID",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "google_drive-remove-sharing",
    "configured_props": {
      "google_drive": { "authProvisionId": "apn_xxxxxxx" },
      "fileId": "File ID",
      "permissionId": "Permission ID"
    }
  }'
```

---

- App: https://pipedream.com/apps/google-drive.md · All apps: https://pipedream.com/apps
