Making your feed private will make it only visible to you while making it public will make it visible to the world. But what if we want to share a feed with one person, or a specific group of people?
You'll want to use Adafruit IO's feed-sharing feature. Feed sharing allows you to invite someone to view a specified feed. This is a great feature if you're building a project but don't want to make your feed public to strangers, only your friends.
Share a Feed
Decided on which feed you'd like to share with somebody else? Navigate to that feed's page. Then, click the Sharing text on the sidebar
You'll be greeted with the Sharing Settings window.
You can invite somebody you know using either their Adafruit IO Username or their personal email address.
You'll have two options for controlling someone's access to your feed:
- If you give them Read access, they'll only be able to view the feed you share.
- Want to give them the ability to read and publish data to your feed? Selecting the Read + Write access level will give the user you invite the ability to both read from your feed and write to your feed.
Once you have the email/username field filled, and the access level configured, go ahead and click Send Invitation.
Accepting a Shared Feed Request
Now it's the other person's turn. After you click Send Invitation, they should receive an email from Adafruit IO informing them that you've shared a feed with them.
Clicking Review This Feed Share will show them the details of the share, their access level, and allow them to either accept, deny, or block the request.
To see the shared feeds you are sharing (and the feeds shared with you), click the Adafruit button (or navigate to io.adafruit.com).
Then click the link to Privacy and Sharing.
This is the privacy and sharing page - a central point for your Adafruit IO account's privacy and sharing information.
You'll be presented with links to the feeds that you are currently sharing, the feeds that are shared by you, a list of your public dashboards, and a list of blocked users.
Who Shares What?
All data rate usage comes from the publishing user.
Data rate usage for feeds is dictated by whomever is publishing to the feed. If you are sharing a feed, your data rate will remain unchanged until you publish (write) to it. If you have access to a shared feed with write access, publishing to the feed will effect your data rate usage, but not the rate usage of the person sharing the feed.
Because Adafruit IO is an open web service, we don't review every single feed sharing invitation before it's sent. In order to prevent repetitive unwelcome sharing invitations from anyone, we will always give you the ability to: ignore individual invites, block a user from being able to invite you to share, or unsubscribe from all sharing invitation emails.
When you ignore an invite, it will be cleared from your sharing page and the user who invited you won't be able to invite you to that feed again, but they will be able to invite you to share any other feed they own.
When you block a user, they will no longer be able to share any feeds with you at all. Users will never be explicitly informed that you have blocked them, but they may be able to infer it if they can't share anything with you. Sharing blocks are permanent until and unless you remove them.
Choosing to unsubscribe from sharing invitation emails will keep your inbox clean, so you'll have to visit your sharing page to see if you have any new sharing invitations.
How do I Adjust Access Levels?
Need to adjust the access level a user has to a shared feed? You can this from the feed page's Sharing Settings window. The window shows the feed owner and the person you shared the feed with. Click Edit to allow you to adjust their feed access privileges.
Now, let's modify their access level. Clicking on the dropdown will give the choice of Read or Read + Write. When you click save changes, Adafruit IO will apply a different access level to the account.
Want to make sure they can't access the feed anymore? You can revoke their access by clicking the Delete button.
Using a Shared Feed with Adafruit IO Arduino
We've integrated feed sharing into the Adafruit IO Arduino library. Setting up a shared feed is similar to the process of setting up a regular feed, with just one change!
After you set the name of the feed (in this example, we're using feed-name). Then, set the owner of the feed (feedOwner):
AdafruitIO_Feed *sharedFeed = io.feed("FEED-NAME", "feedOwner");
Note: Make sure you know of the access-level you have to this feed. If you have Read-only access, you are not able to write to the feed.
Using a Shared Feed with Adafruit IO Python
We've also updated the Adafruit IO Python client to include feed sharing.
Instead of subscribing to your own feed:
client.subscribe("io-feed")
We'll add the username as a second argument to the method, to subscribe to the feed belonging to the owner:
client.subscribe("io-feed", "io-feed-owner")
Note: Feed sharing using the Adafruit IO Python client is not supported by the REST-based API client - only the MQTT client (mqtt_client) is supported.
Page last edited March 08, 2024
Text editor powered by tinymce.