Create Google Drive Feed
Feed: Create Google Drive Feed
User Intent
Operation
TypeScript (Canonical)
import { Graphlit } from 'graphlit-client';
import {
ContentTypes,
FeedInput,
FeedServiceTypes,
FeedTypes,
FileTypes,
SearchTypes,
} from 'graphlit-client/dist/generated/graphql-types';
const graphlit = new Graphlit();
// Create Google Drive feed
const feedInput: FeedInput = {
name: 'Company Google Drive',
type: FeedTypes.Site,
site: {
type: FeedServiceTypes.GoogleDrive,
googleDrive: {
refreshToken: process.env.GOOGLE_REFRESH_TOKEN!,
folderIds: ['folder-id'],
includeFiles: true,
},
},
};
const response = await graphlit.createFeed(feedInput);
const feedId = response.createFeed.id;
console.log(`Google Drive feed created: ${feedId}`);
// Poll for initial sync completion
while (true) {
const status = await graphlit.isFeedDone(feedId);
if (status.isFeedDone.result) {
break;
}
console.log('Still syncing Google Drive files...');
await new Promise((resolve) => setTimeout(resolve, 10_000));
}
console.log('Google Drive feed sync complete!');
// Query synced files
const files = await graphlit.queryContents({
feeds: [{ id: feedId }],
types: [ContentTypes.File],
});
console.log(`Synced ${files.contents.results.length} files from Google Drive`);Create feed (snake_case)
Poll for completion
Parameters
FeedInput (Required)
GoogleFeedPropertiesInput (Required)
Optional
Response
Developer Hints
OAuth Refresh Token Required
Folder ID Discovery
File Type Filtering
Continuous Sync
Variations
1. Sync Entire Drive
2. Sync Specific Folders
3. Sync with Auto-Collection
4. Sync with Workflow
5. Team-Specific Feeds
6. Query Synced Files
Common Issues
Production Example
Last updated