Jump to content

Recommended Posts

Hello,

this module can publish content of a Processwire page on a Facebook page, triggered by saving the Processwire page.

To set it up, configure the module with a Facebook app ID, secret and a Page ID. Following is additional configuration on Facebook for developers:

Minimum Required Facebook App configuration:

  • on Settings -> Basics,
    • provide the App Domains,
    • provide the Site URL,
  • on Settings -> Advanced, set the API version (has been tested up to v3.3),
  • add Product: Facebook Login,
  • on Facebook Login -> Settings,
    • set Client OAuth Login: Yes,
    • set Web OAuth Login: Yes,
    • set Enforce HTTPS: Yes,
    • add "https://www.example.com/processwire/page/" to field Valid OAuth Redirect URIs.

This module is configurable as follows:

  • Templates: posts can take place only for pages with the defined templates.
  • On/Off switch: specify a checkbox field that will not allow the post if checked.
  • Specify a message and/or an image for the post.

post-4087-0-60791400-1457660876_thumb.jp

Usage

edit the desired PW page and save; it will post right after the initial Facebook log in and permission granting. After that, an access token is kept.

 
post-4087-0-78890000-1457661715_thumb.jp
 

Note: Facebook SDK for PHP is utilized.

post-4087-0-60791400-1457660876_thumb.jp

post-4087-0-78890000-1457661715_thumb.jp

  • Like 15
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...
  • 3 weeks later...
  • 5 months later...

Hey,

First off, thanks for this great module.

I was just wondering where the On/off checkbox is meant to show as every time I save the page at the moment it gets posted to Facebook and I'd rather have it that you check that checkbox and it stops posting to facebook?

Thanks!

 

Link to comment
Share on other sites

42 minutes ago, alexmercenary said:

where the On/off checkbox is meant to show

You need to create a new checkbox field, give it a name like autofbpost and add the field to your template. Next configure the module: in the inputfield On/Off Checkbox, enter the name of the field you created.

 

Link to comment
Share on other sites

  • 7 months later...

cant seem to get it working with facebook. keeps giving me this error:

AutoFbPost: post failed; click here to log in with Facebook.

URL blocked: This redirect failed because the redirect URI is not white-listed in the app's client OAuth settings. Make sure that the client and web OAuth logins are on and add all your app domains as valid OAuth redirect URIs.

my settings: https://www.dropbox.com/s/y4ajeac4wwlyup4/Screenshot 2017-07-07 16.53.23.png?dl=0

and platform the website url.

any help would be appreciated

Link to comment
Share on other sites

  • 3 weeks later...

@videokid yeah I do have opengraph in the header but it isn't detecting the image field, it's just using the site logo as the post image and the default site description as the description. It's weird.

Link to comment
Share on other sites

I do: https://www.featherbow.co.uk/gallery/cherington-open-plan-kitchen/

By the way thanks for the help on this.

I'm using MarkupSEO which is auto detecting the image field as it turns out so I don't actually need to add anything into the AutoFbPost field for image field name etc. Although I have anyway. The default 'images' field.

Thank you for your time

Link to comment
Share on other sites

Well I don't see anything wrong....
But it is your default description indeed [MarkupSEO isn't picking up body/description field?].

Personally I'm not using MarkupSEO, I have everything in my _init.php configured and, so far at least, it is working....
It's a pretty old website, still running pw 2.7.1/2..... Haven't tried it on pw 3.x yet, but I guess this has nothing to with pw...

I had a strange experience once where FB wasn't picking up any opengraph whatsoever, and I actually had to create a facebook app id for that site, but so far I've encountered it only once.... that was very weird too.... 

Sorry I can't be more informative....

  • Like 1
Link to comment
Share on other sites

Weirdly it's working now... Or at least the image is loading the correct one.

I have just cleared the default meta description from the MarkupSEO module settings and added directly to the homepage and then used the body as the smart description so it is used for open graph description and meta description for all other pages and that isn't showing the correct description yet when being posted but perhaps Facebook caches the results for a while?
 

Either way you have been a BIG help and I can't thank you enough for taking the time to take a look with me!

Thank you @videokid

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Hello,

this module has been updated and it is now compatible with Graph API version 2.10.

Parameters 'description' and 'name' are not supported by the new Graph API version. Therefore, fields for description and name cannot be provided anymore.

  • Like 4
Link to comment
Share on other sites

  • 4 weeks later...

Hi,

I have problems to connect the module to FB app, I get the error mentioned by benbyf her above: AutoFbPost: post failed; click here to log in with Facebook. Then the error message says: "App not configured. This App is still in development mode and you can't access it"...

Is there anything else I need to set in facebook? I've tried all possible configuration and I don't know where to check now. Screenshot attached. Thanks a lot for any help.

 

fb.png

fb1.png

fb2.png

fb3.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Content

    • By Marco Ro
      Hi guys!
      I'm a bit anxious because this is the first module I present! (beta modulo) But I will finally be able to share something with the community too! :)
      This is a BETA version of the PayPal payment system called: PayPal Commerce Platform.
      It is an advanced system (Business Pro account is needed) that brings various benefits in terms of fees and above all integrates direct payment with credit/debit cards. 
      The module integrates with Padloper 0.0.2, which is the current installation I'm using.
      This system integrates the classic PayPal buy button, the alternative or local payment method and the new payment system: credit/debit cards that doesn't go through the PayPal account. It is a Stripe-style payment, it connects directly with the bank and integrates 3D security validation.
      I say that it is a BETA because this module currently only works with Sandbox account, to put it live you need to change API url manually (manually for the moment).
      Because this module is not ready for live:
      I would like to have your opinion on how I built the module (is the first one I do). I don't want to share something that is not fish but I need a comparison with someone more experienced than me, for be sure that this is the best way to code the module.
      If you want to try this I created a git, you will find all the instructions for installation and correct operation. (Git has a MIT licensed)
      https://github.com/MarcooRo/processwire-PayPal-Commerce-Platform I hope I did something that you guys can like :)
    • By monollonom
      (once again I was surprised to see a work of mine pop up in the newsletter, this time without even listing the module on PW modules website 😅. Thx @teppo !)
      FieldtypeQRCode
      Github: https://github.com/romaincazier/FieldtypeQRCode
      Modules directory: https://processwire.com/modules/fieldtype-qrcode/
      A simple fieldtype generating a QR Code from the public URL of the page, and more.
      Using the PHP library QR Code Generator by Kazuhiko Arase.

      Options
      In the field’s Details tab you can change between .gif or .svg formats. If you select .svg you will have the option to directly output the markup instead of a base64 image. SVG is the default.
      You can also change what is used to generate the QR code and even have several sources. The accepted sources (separated by a comma) are: httpUrl, editUrl, or the name of any text/URL/file/image field.
      If LanguageSupport is installed the compatible sources (httpUrl, text field, ...) will return as many QR codes as there are languages. Note however that when outputting on the front-end, only the languages visible to the user will be generated.
      Formatting
      Unformatted value
      When using $page->getUnformatted("qrcode_field") it returns an array with the following structure:
      [ [ "label" => string, // label used in the admin "qr" => string, // the qrcode image "source" => string, // the source, as defined in the configuration "text" => string // and the text used to generate the qrcode ], ... ] Formatted value
      The formatted value is an <img>/<svg> (or several right next to each other). There is no other markup.
      Should you need the same markup as in the admin you could use:
      $field = $fields->get("qrcode_field"); $field->type->markupValue($page, $field, $page->getUnformatted("qrcode_field")); But it’s a bit cumbersome, plus you need to import the FieldtypeQRCode's css/js. Best is to make your own markup using the unformatted value.
      Static QR code generator
      You can call FieldtypeQRCode::generateQRCode to generate any QR code you want. Its arguments are:
      string $text bool $svg Generate the QR code as svg instead of gif ? (default=true) bool $markup If svg, output its markup instead of a base64 ? (default=false) Hooks
      Please have a look at the source code for more details about the hookable functions.
      Examples
      $wire->addHookAfter("FieldtypeQRCode::getQRText", function($event) { $page = $event->arguments("page"); $event->return = $page->title; // or could be: $event->return = "Your custom text"; }) $wire->addHookAfter("FieldtypeQRCode::generateQRCodes", function($event) { $qrcodes = $event->return; // keep everything except the QR codes generated from editUrl foreach($qrcodes as $key => &$qrcode) { if($qrcode["source"] === "editUrl") { unset($qrcodes[$key]); } } unset($qrcode); $event->return = $qrcodes; })
    • By Sebi
      AppApiFile adds the /file endpoint to the AppApi routes definition. Makes it possible to query files via the api. 
      This module relies on the base module AppApi, which must be installed before AppApiFile can do its work.
      Features
      You can access all files that are uploaded at any ProcessWire page. Call api/file/route/in/pagetree?file=test.jpg to access a page via its route in the page tree. Alternatively you can call api/file/4242?file=test.jpg (e.g.,) to access a page by its id. The module will make sure that the page is accessible by the active user.
      The GET-param "file" defines the basename of the file which you want to get.
      The following GET-params (optional) can be used to manipulate an image:
      width height maxwidth maxheight cropX cropY Use GET-Param format=base64 to receive the file in base64 format.
    • By MarkE
      This fieldtype and inputfield bundle was built for storing measurement values within a field, rendering them in a variety of formats and converting them to other units or otherwise modifying them via the API.
      The API consists of a number of predefined functions, some of which include...
      render() for rendering the measurement object, valueAs() for converting the value to another unit value, convertTo() for converting the whole measurement object to different units, and add() and subtract() for for modifying the stored value by the value (converted as required) in another measurement. In the admin the inputfield includes a checkbox (which can be optionally disabled) for converting values on page save. For an example if a value was typed in as centimeters, the unit was changed to metres, and the page saved with this checkbox selected, said value would be automatically converted so that e.g. 170 cm becomes 1.7 m.

      A simple length field using Fieldtype Measurement and Inputfield Measurement.
      Combination units (e.g. feet and inches) are also supported.
      Please note that this module is 'proof of concept' at the moment - there are limited units available and quite a lot of code tidying to do. More units will be added shortly.
      See the GitHub at https://github.com/MetaTunes/FieldtypeMeasurement for full details and updates.
    • By tcnet
      File Manager for ProcessWire is a module to manager files and folders from the CMS backend. It supports creating, deleting, renaming, packing, unpacking, uploading, downloading and editing of files and folders. The integrated code editor ACE supports highlighting of all common programming languages.
      https://github.com/techcnet/ProcessFileManager

      Warning
      This module is probably the most powerful module. You might destroy your processwire installation if you don't exactly know what you doing. Be careful and use it at your own risk!
      ACE code editor
      This module uses ACE code editor available from: https://github.com/ajaxorg/ace

      Dragscroll
      This module uses the JavaScript dragscroll available from: http://github.com/asvd/dragscroll. Dragscroll adds the ability to drag the table horizontally with the mouse pointer.
      PHP File Manager
      This module uses a modified version of PHP File Manager available from: https://github.com/alexantr/filemanager
       
×
×
  • Create New...