Skip to content

1. How to use the site

CoolSpy3 edited this page Aug 25, 2024 · 14 revisions

Logging in

Login Button Location To log in, press the login button in the top right corner of the page. You will then be prompted to choose a Google account to login with.

Your Account Dashboard

Account Dashboard Your account dashboard is where you can manage your account. The first thing you should do after creating your account is to press the button to link your Gradescope account. This will allow us to access your Gradescope assignments. (See: Linking Your Gradescope Account)

There are five other buttons on the page:

Link Gradescope Account

This button allows you to link your Gradescope account. (See: Linking Your Gradescope Account)

Refresh Course List

Gradescope Calendar does not automatically update your course list (Why is this?). After you link your Gradescope account, you will need to press this button to load your course list from Gradescope. Gradescope Calendar will only load courses for which you are currently enrolled.

Pressing this button will also prompt you to verify your acceptance with the current TOS. This should remind you to check the TOS updates and verify your acceptance of them. If you do not agree to the latest version of the TOS, you must stop using the app.

Update Calendar Events

Gradescope Calendar automatically fetches your assignments from Gradescope 4 times per day. If you want to update your calendar immediately, you can press this button to force an update. Additionally, because we don't have a way to automatically inform you about problems with your account, pressing this button will show a popup if an error occurs while updating your calendar.

Save Changes

This button saves any changes you've made to your settings.

See: Settings

Download My Data

This button downloads a copy of the available data we have about you. Note that for security reasons, some of your data (such as your Google/Gradescope account information) is not accessible from the client side, and therefore cannot be downloaded.

See: Privacy Policy and How is data stored?

Delete My Account

This button deletes your account and all associated data from our servers and invalidates your stored Google and Gradescope tokens. This only refers to the tokens we use to access your account. Your Google and Gradescope login credentials will not be affected.

See: Privacy Policy

Settings

The bulk of your account dashboard is the settings menu. It allows you to customize how Gradescope Calendar works for you.

There are three settings you can change:

Calendar

This setting allows you to choose which Google calendar Gradescope Calendar will put your assignments in. You can select any calendar which you have write access to. Personally, I recommend creating a new calendar specifically for Gradescope assignments, but you can use any calendar you want. If you do not select a calendar, Gradescope Calendar will not add any events to your calendar.

Completed Assignment Color

This setting allows you to choose the color of assignments that you have turned in. If you do not select a color, completed assignments will not be colored differently from incomplete assignments.

Course Colors

You can also choose the color of assignments for each course. To do so, select the color dropdown next to the course name. At the moment, you cannot not select a color for a course. If this feature is important to people, I can add it in the future.

Linking Your Gradescope Account

In order to access your Gradescope assignments, you must link your Gradescope account. To do so, press the "Link Gradescope Account" button on your account dashboard. Unsurprisingly, Gradescope is not thrilled about a random website accessing people's Gradescope accounts, so there's not a good way to log you in through Gradescope. Instead, you can log in to Gradescope through our site with one of two methods:

With a Gradescope Token (More Secure, More Difficult)

This method involves extracting your gradescope token from your browser's cookies and pasting it into our site. This method is more secure because it does not require you to enter your Gradescope password, so our site never has access to it. However, it requires you to go through DevTools to get the token. To do so, follow these steps:

  • Open Gradescope in your browser
  • Open DevTools (Ctrl+Shift+I on Windows/Linux, Cmd+Shift+I on Mac)
  • Go to the "Application" tab
  • Expand the "Cookies" dropdown
  • Click on "https://www.gradescope.com"
  • Find the "signed_token" cookie
  • Make sure "Show URL-decoded" is checked (As far as I can tell this is specific to Chromium-based browsers. On Firefox/other browsers, you will have to decode the string by hand or use an online decoder.)
  • Copy the value of the cookie
  • Paste the value into the Gradescope Token field on our site
  • Press the "Link Gradescope Account" button Gradescope Token Extraction

Some notes about this method:

  • When you are logging into Gradescope, make sure to check the appropriate "Remember Me" button for your sign-in method. Otherwise, your token will expire after ~6 months, and you will have to re-link your account.
  • If you log out of Gradescope in the same browser session you used to extract the token, the token will be invalidated. To get around this, you can use a private browsing mode to extract the token, clear your cookies after extracting the token, or just not log out.

With Your Gradescope Username and Password (Less Secure, Easier)

This method involves entering your Gradescope username and password into our site. This method is less secure because it requires your Gradescope password to be sent to our backend for processing. (Browsers do not like it when you try to log in to another site and send the results somewhere else.) To log in with this method, simply enter your username and password into the appropriate fields and press the "Link Gradescope Account" button. This will send your username and password to our backend, which will then log in to Gradescope on your behalf and extract your token. These tokens can expire, but unless you update your password, they shouldn't do so in the short-term (I think it takes a few years). If your token does expire, you will need to re-link your account periodically. For this purpose, you are given the option to store your credentials on our backend. If you choose to do so, our backend will store your username and password and use them to automatically re-link your account when your token expires. I don't recommend this because, while I've done my best to ensure our backend is secure, I don't think it's worth the increased security risk. Nevertheless, the option is available. If you choose to store your credentials, you can delete them at any time by relinking your account and unchecking the "Store Credentials" box, linking your account with a token, or deleting your account.

My School Forces Me to Log In to Gradescope with School Credentials/Google

In my experience, even if your school forces you to log in to Gradescope with your school credentials, you can still add a password login to your account.

To do so, follow these steps:

  • Log in to Gradescope with your school credentials
  • Go to your account settings
  • Verify your email if you have not already (I'm not sure if this is a necessary step, but better safe than sorry) As far as I can tell, if you have multiple email addresses associated with your account, you can use any of them in your login.
  • Fill in the fields to change your password
  • Press the "Save Changes" button
  • Your email-address/password combination can now be used to log into your Gradescope account Gradescope Add Password

If you want, you can store your credentials on our backend. This will allow us to automatically re-link your account when your token expires. I don't recommend this because, while I've done my best to ensure our backend is secure, this website was programmed by a single programmer in his free time while learning the technologies, so there may be security vulnerabilities that I am unaware of. This feature was originally added because I thought the tokens expire after ~6 months. However, upon closer inspection, that number appears to be closer to ~20 years. I will keep it in (for now), but it really shouldn't be necessary for the average user. If you choose to store your credentials, you can delete them at any time by relinking your account and unchecking the "Store Credentials" box, linking your account with a token, or deleting your account.