Google Drive Workflow for Alfred
This workflow searches your Google Drive and will open selected files in your browser. The keyword is d
(example d alfred
).
With ↩ you can open the entry in your default browser.
With ⌘C you can copy the link to your clipboard.
Please see troubleshooting if you encounter any problems and star this repo if you find it useful :)
This workflow relies on features introduced in Alfred version 3.4.1.
The first time you use this workflow, you will be asked (in your default browser) to allow “Alfred Drive Workflow” to view and manage files in your Google Drive.
After successfully connecting the workflow to your Google Drive you can search it from Alfred using d {query}
.
-
d {query}
Search your Google Drive for files that match the query. You can open the file in your default browser by selecting the file and hittingenter
-
d New Document {name}
Create a new Google Document and open it in your default browser. Name is optional and defaults toUntitled
. -
d New Spreadsheet {name}
Create a Google Spreadsheet and opens it in your default browser. Name is optional and defaults toUntitled
. -
d New Presentation {name}
Create a Google Presentation (slide) and opens it in your default browser. Name is optional and defaults toUntitled
. -
d New Form {name}
Create a Google Form and opens it in your default browser. Name is optional and defaults toUntitled
. -
d Update to Google Drive version 1.x
This action is only available when there is an update. It will download the update and ask Alfred to install it. -
d Sign out of Google Drive
Disconnect the workflow from Google Drive and delete access tokens.
You can set Workflow Environment Variable to control some aspects of this workflow.
This will be and
’ed with the query used for getting files from Google Drive. See Searching Files for syntax, some examples:
- Exclude all folders and PDF files from search results:
mimeType != 'application/pdf' and mimeType != 'application/vnd.google-apps.folder'
- Limit search results to items in the folder with ID
0Bx_0bq…F2N
:'0Bx_0bq…F2N' in parents
To find the ID of a specific folder, navigate to that folder in your web browser and should be able to see the ID in the URL.
If you want to open links in a specific browser you can create a Workflow Environment Variable named open_args
with a value of:
- Safari:
-b com.apple.Safari
- Firefix:
-b org.mozilla.firefox
- Chrome:
-b com.google.Chrome
If you see wrong behavior you are welcome to open an issue but please include the log file!
The log file can be found as ~/Library/Caches/com.runningwithcrayons.Alfred-3/Workflow Data/com.drive.azai91/google-drive.log
.
When pasting it into an issue, be sure to either indent each line with a tab character / four spaces or surround it with three back-ticks like this:
```
# Logfile created on 2017-10-05 08:51:37 +0200 by logger.rb/41954
[2017-10-05 08:51:37.001] [42968] [DEBUG] ./google-drive.rb ["--filter", "f"]
[2017-10-05 08:51:37.053] [42968] [INFO] Requesting user authentication via browser
[2017-10-05 08:51:37.053] [42968] [DEBUG] Starting HTTP server
[2017-10-05 08:51:43.444] [42968] [DEBUG] Received HTTP request: GET /?code=4/Nd2rioLCh20PgBHML6vBUYacMCddkRpl0s2U4HR2GrW HTTP/1.1
[2017-10-05 08:51:43.709] [42968] [INFO] Refresh token added to keychain
[2017-10-05 08:51:43.765] [42968] [INFO] Access token added to keychain, expires in 3600 seconds
[2017-10-05 08:51:43.765] [42968] [DEBUG] Stopping HTTP server
[2017-10-05 08:51:44.804] [42968] [INFO] Got 155 items from Google Drive
[2017-10-05 08:51:44.815] [42968] [DEBUG] Execution took 7.814 seconds
[2017-10-05 08:51:44.985] [42983] [DEBUG] ./google-drive.rb ["--filter", "foo"]
[2017-10-05 08:51:44.988] [42983] [DEBUG] Loaded 155 items from cache (created 8 seconds ago)
[2017-10-05 08:51:44.989] [42983] [DEBUG] Execution took 0.003 seconds
```
- Google Docs
- Google Sheets
- Google Slides
- Google Forms
- PDFs
-
Download this repository:
git clone --recursive https://github.com/azai91/alfred-drive-workflow
-
Create a blank workflow
-
Create a symbolic link making the new blank workflow point to the
src
folder of this repository (find the blank workflow by right clicking it in Alfred and selectOpen in Terminal/Finder
)