• Resolved sdwareham

    (@sdwareham)


    @cliffseal

    Recently started having some trouble with this plugin after having it working for almost a year. Not sure if something changed on the Pardot side, or account side. The widgets page in WP admin will not load, nor the Pardot settings page, nor any post that has a Pardot widget used on it. It looks like there is a function being called to check the authentication that gets called endlessly.

    In partdot-api-class.php there is the get_response() function. Around the section with the following comment:

    /**
    * Try again after a successful authentication
    */

    the function seems to call itself, perhaps to check again with some updated args?

    $response = $this->get_response( $item_type, $args, $property, true );

    In my case this appears to be called over and over, never getting whatever result it needs to not call itself again.

    I’m not clear on what it’s trying to do here, or what it’s looking for to not have to call this function again.

    Any idea on what might be going, perhaps on the account/Pardot side for it to be stuck in this loop?

    • This topic was modified 4 years, 5 months ago by sdwareham.
Viewing 6 replies - 1 through 6 (of 6 total)
  • Thread Starter sdwareham

    (@sdwareham)

    Follow up on this, I noticed in the HTTP response there is the error:

    <err code=\"122\">Daily API rate limit met<\/err>

    I’m not sure though if this is the cause of this, or if I’m hitting the limit because of the continuous auth checks.

    Plugin Author Cliff Seal

    (@cliffseal)

    Hey @sdwareham,

    Are you running the latest version of the plugin?

    Thread Starter sdwareham

    (@sdwareham)

    Hi @cliffseal I was behind but I just bumped the version and getting the same result. Endless calls to authenticate that is breaking the widgets & plugin settings page.

    I’m wondering if the problem lies here:

    if ( $this->authenticate( $auth ) && 'Daily API rate limit met.' !== $response->err && 'This API user lacks sufficient permissions for the requested operation' !== $response->err )

    Daily API rate lime met is of type string, but $response->err is an object. Since it’s using the strict type comparison operator !== this will never be equal. Also, in the HTTP response the error text I’m getting is Daily API rate limit met. Which does not contain a period at the end of the message. Perhaps this was updated?

    I’m wondering if this could be updated to if ( $this->authenticate( $auth ) && 'Daily API rate limit met' !== strval( $response->err ) && 'This API user lacks sufficient permissions for the requested operation' !== strval($response->err) )

    Plugin Author Cliff Seal

    (@cliffseal)

    The recent update fixed this exact issue for other folks. Try also deleting the _pardot_cache_keys and _pardot_transient_keys rows from your options table. You may also need to wait a bit for your API limit to reset.

    Thread Starter sdwareham

    (@sdwareham)

    Thanks Cliff, clearing the cache appears to have helped! Plugin looks to be working as normal again. Really appreciate the support! Thanks!

    Plugin Author Cliff Seal

    (@cliffseal)

    Great to hear! And sorry for the trouble.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Continuous auth check breaking widgets / settings page’ is closed to new replies.