Paul "Pablo" Croubalian

6 years ago · 4 min. reading time · 0 ·

Blogging
>
Paul blog
>
Facebook Automation: How to, Why to, and WTF?

Facebook Automation: How to, Why to, and WTF?

VI

 

Blog Poets

About the Author

I'm a ghost but not the kind that's to pottery
wheels. I'm the wnting kind

Toften wonder if Im a tech-savvy writer or a
writing-savvy technologist Maybe I'm both. As
one CMO put it, "Paul makes tech my bitch!
That might be going a hittle too far

myTweetPack.com
The Ultimate Twitter SystemWe were zooming right along creating the Facebook automation functions on myTweetPack when we hit a snag. Well, it wasn't really a snag. It was more of a speed bump. It isn't so much that there are limitations on what we can do as a boatload of stuff we can do. 

Feel free to substitute a more colorful word for "boatload."

I think Facebook is second only to Google in the number of possible API actions. API stands for Application Programming Interface. 

The issue is compounded by the fact that I am not a big Facebook guy. Neither are any of my coders. 

Don't be shy all you FFs out there. Chime in with your suggestions and Wish Lists. 

Hey, every function on myTweetPack started as something on someone's Wish List.

FF is Facebook Fanatics, BTW. I just made that up. API, FF, BTW,  us techies love us our acronyms, don't we?

It was simple enough to write the authorization scripts (New acronym - ASs? Perhaps not.). The test status update posted on the very first try. 

It took 17 tries to get the first LinkedIn scheduled status update to work properly.  It didn't help that LinkedIn's documentation has multiple errors in it and some rather funky wording.

Facebook integration is far simpler than LinkedIn or even Twitter integration.

NOTE: Authorization scripts are what gets an application the permission to act on your behalf. It's a back-and-forth discussion and verification process between two servers. You trigger that discussion by clicking a button that says you want to use the application. The servers hammer out the details and the application gets a token it can use to act as you. You can revoke that authorization anytime. Some, like Facebook's and LinkedIn's, expire after a specified time if not renewed beforehand.

The First Speed Bump: Multiplicity

You can post to your Facebook feed. You can post to your Facebook Pages. You can also post to Groups, but I haven't started digging into that yet. I'll get to them soon.

I'll also get to Messenger and Instagram. Patience, Grasshopper, patience. There's a ton of stuff to wade through.

They both/all connect to the same underlying account. 

I first noticed this issue when I was using IFTTT to cross-post to Facebook Pages.

Let me explain.

I have Twitter accounts @PaulCroubalian, @ChefsUnDiet, @myTweetPack, and @RockSmallBiz  (if you're an Arabic speaker, it's OK to giggle at that last one. For non-Arabic speakers, "biz" means "boob." Now you can giggle too.). 

I created multiple accounts to target specific segments of my audience. That's important. Every field of activity MUST have its own account. No, it' not an optional thing.

If I hadn't created all those accounts, every post would be of Zero-Interest to about 75% of its audience. That's not good.

I also have Facebook account https://www.facebook.com/paul.croubalian. That one account connects to three Facebook Pages, ChefsUnDiet, Ghostwriter, and Mytweetpack

When I cross-post with IFTTT it goes to the Ghostwriter Page. That's not so bad for new book announcements. It's even OK for businessy and techie stuff. It's not so great for recipes and weight-loss stuff. 

So, yeah, you can post to Facebook Pages, but which one and when?

Also, why can't we post to all or some of our Pages and our timelines at the same time? 

Turns out we can. 

Ideally, I need to promote certain types of posts to specific Pages. Recipes and weight-loss advice need to post to the ChefsUnDiet Page. Social Media stuff must post to the myTweetPack Page. Everything else, and some of the previous stuff should post to Ghostwriter.

Okay, so now we know what we "should" do.

Each Facebook account has a specific ID. So do Pages. Depending on which ID you use, an update will post to the right place. 

So far so good.

The gotcha is that there is a single authorization token for the whole Facebook account. IFTTT seems to handle that by just posting to the first Page. 

That's not ideal. I don't like "not ideal."

If Facebook offers Multiplicity, so must we

Facebook's Graph API has a function to pull in the IDs and names of all Pages a user administrates. 

No, I don't know why Facebook called it "Graph." Take it up with them. To be honest, when I was first looking through their APIs I skipped right over "Graph." I thought it was a charting or analytics thing.

Here's the second gotcha. That list of Pages is for a specific Facebook account. Facebook doesn't particularly care that you want to automate things via hashtags. As far as they're concerned you should do everything by hand, all the time, and on their platform.

Why not? It's not like you have anything else to do, right? 

Right?

I thought not.

Automation via hashtag triggers is the quickest, easiest way to cross-post. That's the main reason why myTweetPack champions the hashtag rotation concept. The other reason is to avoid Franketweets. . . Tweets made unreadable by excessive hashtag use.

We just need to distribute authorization and IDs to the Twitter account(s) a member designates. Then we need to make sure that subsequent changes/updates to the list don't wipe out that member-set distribution. 

It's harder to code than to do. 

Click a button and your Pages list will be updated. Any New Page will ask you to which of your connected Twitter accounts should myTweetPack associate the Page. It will also ask if it should add another association to the Page or replace the one Facebook says. 

Now we can post updates to multiple Facebook Pages and/or Timelines from one tweet.

Any existing Page will have its info updated. Of course, you'll also need the ability to change associations as needed.

So, for me, recipes will tweet through @ChefsUnDiet and post to the Chefs UnDiet Facebook Page. Business stuff will tweet through @RockSmallBiz, retweet through @PaulCroubalian and post to both Ghostwriter and myTweetPack Pages. 

We'll get this all coded and create a separate Facebook scheduling back end. Then we'll get on to Groups and Messenger.

And now, for the WTF. . .

Applications using the Facebook API go through a review process.  During development, an application is only available to designated programmers and testers. Once Facebook completes its review, it becomes available to the public.

How exactly that Review will work and how long it will take is anyone's guess. I see documentation on what to expect and how to proceed, but it's so sanitized that it's meaningless.

I can see a review process working nicely to avoid scammers and spammers. It's a great idea. How it will accomplish anti-scam / anti-spam going forward is also anyone's guess. 

I mean, what's to stop someone from going completely bat-shit spammy after they pass review?

No worries. Not my problem.

Their ball, their bat, their field, their rules. I'll keep you posted. In the meantime, if you're in a rush for these functions, let me know. I can add you to the list of testers. That will be a first-come-first-served thing. I have no idea how many testres I can add. 

Facebook does not say the number of testers is limited, but it must be. Otherwise, it would be far too easy to circumvent the Review Interview Process. (New Acronym - RIP? I think not)

Cheers


24f399a4.png




""
Comments

Paul "Pablo" Croubalian

6 years ago #4

#5
Thanks, Jason

Jerry Fletcher

6 years ago #3

Paul, Mine is going more quickly than I like to admit.

Paul "Pablo" Croubalian

6 years ago #2

#1
Thanks, Jerry. It's a good thing I already lost most of my hair. There's less to pull out.

Jerry Fletcher

6 years ago #1

Paul, There are times when I don't know whether to laugh or cry about what it takes to build useful inter-connectivity. This little travail you describe tells me that once again B2C has better coders than B2B. Keep up the good work my friend.

Articles from Paul "Pablo" Croubalian

View blog
5 years ago · 3 min. reading time

This is the seventh post in the MisAdventures in Mid-Life Dating series. Some of you may be thinking ...

5 years ago · 6 min. reading time

This post is partly a continuation of "MisAdventures in Mid-Life Dating, the Male View: The Ambush" ...

6 years ago · 4 min. reading time

They say, "Every cloud has a silver lining." That's obviously false. Cumulus clouds are the big whit ...

Related professionals

You may be interested in these jobs

  • GDhillon Professional Corporation

    bookkeeper

    Found in: Talent CA 2 C2 - 1 day ago


    GDhillon Professional Corporation Calgary, Canada

    Education: · Expérience: · Education · Secondary (high) school graduation certificate · Tasks · Calculate and prepare cheques for payroll · Keep financial records and establish, maintain and balance various accounts using manual and computerized bookkeeping systems · Maintain g ...

  • EightSix Network Inc

    Responsable Support Data Produit/Offre F/H

    Found in: Jooble CA O C2 - 2 days ago


    EightSix Network Inc Ottawa, ON, Canada

    Product Marketing Manager-Embedded Computing · Part Time / Full Time · Product Marketing Manager-Embedded Computing · Product Marketing Manager - Embedded Computing · We are looking for a results-driven Product Marketing Manager with expertise in campaign management, product ...

  • Citigroup Inc.

    AVP Senior Auditor

    Found in: beBee S2 CA - 4 days ago


    Citigroup Inc. Mississauga, Canada TEMPORARY

    The Senior Auditor is an intermediate level role responsible for performing moderately complex audits and assessments of Citi's risk and control environments in coordination with the Audit team. The overall objective is to utilize in-depth subject matter expertise to contribute t ...