FAQ
I’m getting an error about getting a status 400 instead of 200. How do I fix that?
Sometimes you will see the following error in Zoop.
java.lang.RuntimeException: Got status 400 instead of 200. Response body was {“status_code”:400,”error”:{“message”:”Rate limit reached.”,”code”:100},”status_txt”:”Bad Request”}
Note the Rate limit reached in the error.
This typically occurs when you are initially using Zoop and your entire project’s files need to be uploaded.
This is caused by the cloud host temporarily refusing uploads because you have upload too much data in a short period of time. To resolve this, you can either wait a period of time and try again (this can be up to a day) or create accounts for both imgur and imgbb and switch between them when you see this error. Alternatively, you can create a paid account for one of the cloud host services as these don’t have rate limits.
How do I create an imgur account to use with Zoop?
If you already have an account and just need to generate an API key, skip to step 3
- Go to imgur.com and click sign-up in the top right
- Fill in your details to create an account
- Login to your account
- Go to https://api.imgur.com/oauth2/addclient. You will see a screen titled “Register an Application”
- Give it an application name. This doesn’t really matter. Call it Zoop or whatever you want
- Select the “Anonymous usage without user authorisation”
- Leave the authorisation callback URL blank. If you have an issue with this being required select the middle option of authorisation type first and then switch back to the anonymous option
- Leave the application website blank
- Enter your e-mail
- Enter a description if you want
- This will then show a screen with a client ID and client secret
- Only the client ID is required for Zoop and is what you should enter in the API key field. If you forget the client ID you can view it by going to the Settings of your account and selecting Applications
How do I create an imgbb account to use with Zoop?
If you already have an account and just need to generate an API key, skip to step 3
- Go to https://imgbb.com/signup
- Create an account
- Login to your account
- Go to https://api.imgbb.com/
- Client Add API Key
- A long alphanumeric string should appear. This is what you should enter in the API key field of Zoop
How do I use my dropbox account with Zoop (OAuth - recommended)?
You’ll need a dropbox account first, then follow these steps
- Go to https://www.dropbox.com/developers/apps/
- You will need to provide your dropbox login if you haven’t already
- Click Create app
- For Choose an API select Scoped access option
- For Choose the access type you need select App folder
- Under no circumstances should you use the Full dropbox option. This will create an access token that gives access to all your files. Using App folder limits Zoop to a specific dedicated folder within your dropbox
- For Name your app input a name
- I recommend that you create one app per campaign/set of content you are producing. This will avoid any name clashing with cards that have the same name in different campaigns
- Click Create app. You should see a new screen with a bunch of tabs including Settings and Permissions
- Click the Permissions tab
- Under Files and Folders tick the following options – this permission allows Zoop to upload files to your dropbox
- files.content.write
- Under Collaboration tick the following options – this permission allows Zoop to create shared links to uploaded files in your dropbox, allowing TTS to download them
- sharing.write
- sharing.read
- Click Save
- Click the Settings tab
- Open Strange Eons and run Zoop
- Select the Dropbox (OAuth2) option for image storage
- Copy the App key and App secret from the Dropbox settings screen into the Zoop options dialog
- In Zoop, you will see a message in a greyed out Access token editor stating Authorisation required
- Click the Authorise button
- Your web browser should open. Dropbox will ask you to confirm the access being requested
- In the browser you will see an authorisation token. Copy this from the browser and paste it into the Zoop dialog asking for it
- Click OK on the dialog
- Returning to the options dialog the Access token editor should now show Access token created
- You should not need to perform steps 14-16 again. The access token should automatically refresh on future uses of Zoop
How do I use my dropbox account with Zoop (Short lived token - deprecated)?
This approach has been superseded by the OAuth version of the Dropbox uploader. The tokens generated by this approach only last 4 hours and then need to be manually refreshed
You’ll need a dropbox account first, then follow these steps
- Go to https://www.dropbox.com/developers/apps/
- You will need to provide your dropbox login if you haven’t already
- Click Create app
- For Choose an API select Scoped access option
- For Choose the access type you need select App folder
- Under no circumstances should you use the Full dropbox option. This will create an access token that gives access to all your files. Using App folder limits Zoop to a specific dedicated folder within your dropbox
- For Name your app input a name
- I recommend that you create one app per campaign/set of content you are producing. This will avoid any name clashing with cards that have the same name in different campaigns
- Click Create app. You should see a new screen with a bunch of tabs including Settings and Permissions
- Click the Permissions tab
- Under Files and Folders tick the following options – this permission allows Zoop to upload files to your dropbox
- files.content.write
- Under Collaboration tick the following options – this permission allows Zoop to create shared links to uploaded files in your dropbox, allowing TTS to download them
- sharing.write
- sharing.read
- Click the Settings tab
- Under Generate access token click the Generate button
- Copy the generated access token (long)
- The token is very long, you may need to scroll to get the full token
- If you change anything in the permissions tab you will need to re-generate the access token
- If you lose your access token you can just generate a new one
- Use this token in the API key field of Zoop
How do I get multiple copies of a card in TTS?
You can either use the encounter set unrolling feature of Zoop (see above) or manually copy the card within TTS
Does Zoop aggregate images together in a sheet/deck?
No. Each card image is exported and uploaded separately.
Do I need to keep cards organised in bags in the same way Zoop exports them?
No. Do whatever you want with the produced cards in terms of organisation within your TTS saved object. The Zoop update mode can find the cards wherever they are, for example in a memory bag or a deck or a deck within a memory bag.
How does Zoop update existing content?
When a card is exported from Strange Eons for the first time Zoop assigns it a unique id. This id is added to the correspond card in TTS. When you use Zoop’s update mode it searches the target TTS saved object for every card with a Zoop id and finds each corresponding card with the same id in Strange Eons. Then the card information in the TTS saved object is updated to match that in Strange Eons.
Does Zoop update all the cards every time it is run?
No. Only cards that have changed since the last run of Zoop are exported to TTS.
Can I add manually add scripting within TTS to cards created by Zoop?
Yes. When updating cards Zoop does not touch any scripting attached to cards. When updating Zoop only updates card titles, descriptions, images and SCED metadata.
Which fields within the TTS saved object does Zoop update?
For readers familiar with the TTS object structure Zoop updates the following fields
- GMNotes – the Zoop unique id and SCED metadata
- FaceUrl and BackUrl in the CustomDeckModel within a card object – the front and back images of the card
- The parent deck’s corresponding FaceUrl and BackUrl - the front and back images of the card (only when the card is within a deck in the TTS saved object)
- Nickname field – the card’s Title in Strange Eons
- Description – the card’s Subtitle field in Strange Eons
- SidewaysCard – if overridden by a Zoop instruction
If Zoop fails for some reason (such as a failed image upload) how do I complete my export after the problem is fixed?
Just run Zoop again. It will pick up where it left off.
How do I use a genuine double quote (“) in a Zoop instruction parameter?
Some Zoop instructions require a card title to be specified. For example a card title that have double quotes in them. To specify a double quote in a Zoop instruction parameter, put the double quote in twice instead of once. For example
#TTSZ#ReplaceCardFace(ReplaceFace=”Back”,CopyCardTitle=”"”Booo”” to a goose”,CopyCardFace=”Back”)
My dropbox API key stops working after a while. Why is this?
Dropbox’s API keys expire after a short period of time (~4 hours). To resolve this go into the dropbox app console and generate a new API key. Dropbox OAuth is now supported by Zoop where after the initial authentication keys are automatically refreshed.