Authenticate WordPress Users with Google Apps Script

You can use the XMLRPC library with Google Scripts to authenticate users that are members of your WordPress or Blogger website.

For instance, if you have a Google Form that you only wish to serve to registered members of your WordPress or BuddyPress website, you can add a layer of authentication before serving the form using the HTML service. This layer will connect to the website through XML RPC to verify if the connecting user is valid or not.

The Google Script can be further customized to only allow users with certain roles -like allow authors and admin but not subscribers. This can be used in conjunction with Easy Digital Downloads to serve files to only users that have the WordPress role as EDD_Subscriber or similar.

function verifyWordPressUser(username, password) {
  
  // Library key: My_8O8KRa_MszCVjoC01DTlqpU7Swg-M5
  
  /* Replace example.com with your WordPress blog URL */
  var wordpressURL = "http://example.com/xmlrpc.php";
  
  /* Call the wp.getUsers API method to get User details */
  var request = new XMLRPC.XmlRpcRequest(wordpressURL, 'wp.getUsers');
  
  /* The first parameter is empty since there's no blog ID for WordPress */
  request.addParam("");   
  request.addParam(username);
  request.addParam(password);
   
  var response = request.send().parseXML();
  
  if (response.faultCode) {
    throw(response.faultString);
  }
  else {
    throw(response[0].display_name  + " is a valid user");
  }
  
}