AutoShare: Automates sharing of video on Facebook when uploaded on YouTube

AutoShare automates sharing of video url with its title on facebook wall when the video is uploaded on YouTube. It took me about a couple of days to make AutoShare finally work. I have used Python 3. You might be wondering that how the idea came to my mind. Let me share the story with you 😉

My mom has her own channel on YouTube. So she has to share the videos on social networking platform like facebook and others everytime she uploads them on Youtube. So I thought of a way if I can automate the task! Life is awesome when we can automate almost everything, atleast for me 😛 so why not this 😉 .

AutoShare is really easy to use. You just have to get your PlaylistId from Youtube channel list and your google API key from console developer google. Check Youtube-settings for AutoShare to know in details. Then obtain your Access token from facebook api explorer. Check Facebook-settings for AutoShare to know in details. After obtaining the google API key, youtube PlaylistId and facebook Access token, fill them in settings.py. Make sure you have requests module installed and run the app with

python3 autoshare.py

Check the installation procedure here.

I have used requests and json modules to make AutoShare work. Using get method I have retrieved the data regarding the latest video uploaded and generated the url and title of the video which you will find in youtube_url_generator.py. You will find the code regarding posting in autoshare.py. I have retrieved the posts of facebook wall and run a check to make sure whether the post has already been shared or not. This will prevent you making duplicate posts on facebook wall. And if there is no such post on your facebook wall AutoShare posts the video title along with the url on your wall.

So this way we can easily automate the sharing of video on facebook wall when uploaded on Youtube. Test cases for the application are in progress. Then I’ll cut a new release :). Please do let me know if you get any issue or have any new idea. Feel free to open issues here and you can also come up with pull requests for modifications. Thank you 🙂

Resources: