This guide will help you set up a dynamic profile card display on your Google Site. The display shows participant cards with photos, names, team numbers, and other information pulled from a Google Sheet.
- A Google Site where you want to display the cards
- A Google Sheet containing participant information
- Basic familiarity with Google Sites and Google Sheets
-
Create a new Google Sheet with the following columns:
firstNamelastNamegroupNumberpronouns(optional)majoryearhsUrl(for profile photo URL)liUrl(for LinkedIn profile URL)
-
Fill in your participant information
-
Make the sheet public:
- Click "Share" in the top right
- Change access to "Anyone with the link"
- Set permission to "Viewer"
- Go to sheety.co
- Create a new account or sign in
- Create a new project
- Paste your Google Sheet URL
- Copy the generated API URL ** Note, somewhere Sheety will ask you what permissions you want to give it. This fiel only needs "READ" **
- In Google Sites editor, click the
+button to add an element - Choose "Embed"
- Alternatively, just select "Embed" under the Insert tab
- Click the
<>(Embed code) option - Copy the entire HTML code provided
- Replace
"YOUR SHEETY URL HERE"with your Sheety API URL - Click "Next" and then "Insert"
- If cards don't appear, check your browser console for errors
- Testing this code in localhost will load all information except for profile pictures, ensure everything works when you put the embed into the site
- Verify your Sheety URL is correct
- Ensure your Google Sheet is publicly accessible
- Check that column names in your sheet exactly match the ones used in the code
- Verify this by using a "console.log()" on the json returned from Sheety to verify object attribute names
- Responsive card layout
- Sort participants by:
- Name
- Team number
- Year (ascending and descending)
- Automatic fallback image for missing profile photos
- LinkedIn profile integration
- Cross-device compatibility
- Profile photos should be hosted online at Imgur (when you host the photo, you must copy the image's address, not the link to the post)
- LinkedIn URLs must start with "https://" to display properly