Don't know about that specific error, but here's what I did on Ubuntu with keepass2 2.25:
Had to jump through a few extra hoops, which were resolved by the instructions from http://sourceforge.net/p/kp-googlesync/discussion/general/thread/19cca399/?limit=25&page=1#c5d9 Here's the rundown of what I did.
Downloaded GoogleSyncPlugin-2.1.2.zip and extracted the plgx to /tmp
Downloaded log4net-1.2.15-bin-newkey.zip from Apache and extracted the bin/mono/2.0/release/log4net.dll to /tmp. Then did:
sudo mv /tmp/GoogleSyncPlugin.plgx .
sudo chmod o+r GoogleSyncPlugin.plgx; sudo chown root:root GoogleSyncPlugin.plgx
sudo mv /tmp/log4net.dll .
sudo chown root:root log4net.dll; sudo chmod o+r log4net.dll
sudo cp /usr/lib/mono/2.0/System.ServiceModel.Web.dll .
sudo chmod o+r System.ServiceModel.Web.dll
mozroots --import --sync # Install the mozilla root certificates into Mono
- Set up my own client credentials in the Google Developer Console as described in the readme.txt of GoogleSyncPlugin-2.1.2.zip, put those credentials into the Google Sync Plugin's configuration box, then press OK. Here's an excerpt:
- Go to the Google Developers Console in your Google Account. See my comment below or sourceforge forum link above for a link.
- Select "Enable Google APIs for use in your apps".
- Choose a Project name like e.g.: "KeePass Google Sync Plugin".
- Enable the "Drive API" at "APIs & auth" > "APIs".
- Choose an e-mail address at "APIs & auth" > "Consent screen".
- Set the product name for the consent screen to e.g.: "KeePass Google Sync Plugin".
- Create a new OAuth 2.0 Client ID for an "Installed application" with application type "Other" at "APIs & auth" > "Credentials".
- Go to SEE COMMENT BELOW in a browser, replacing YOUR_CLIENT_ID with the OAuth client id from the Google Developer Console.
- Run this in a terminal, after replacing YOUR_CLIENT_ID, YOUR_CLIENT_SECRET, and CODE_FROM_LAST_STEP:
curl -d 'client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&code=CODE_FROM_LAST_STEP&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code' SEE COMMENT BELOW
- Edit the entry for my Google account in KeePass. Just find the on for your email address with the accounts.google.com URL. Might be in KeeFox tab. Click the Advanced tab, there should already be the GoogleSync.ClientID/Secret. Then click the Add button, then enter "GoogleSync.RefreshToken" for the Name, and the "refresh_token" value you obtained in the last step as the value. Also click "Enable in-memory protection" and then press OK.
- Maybe restart KeePass2