• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

I Like Kill Nerds

The blog of Australian Front End / Aurelia Javascript Developer & brewing aficionado Dwayne Charrington // Aurelia.io Core Team member.

  • Home
  • Aurelia 2
  • Aurelia 1
  • About
  • Aurelia 2 Consulting/Freelance Work

A Fix For Issues Calling The Yelp API Using wp_remote_get (and other WordPress request methods)

Wordpress · December 8, 2020

This is quite a specific issue you will only encounter if you are attempting to call the Yelp Fusion API using any of WordPress’ request methods such as wp_remote_get (that’s probably the one you are using). In attempting to do so, you will find yourself faced with a 403 error.

You’re passing up your API key or valid token, but still, the request won’t work.

This issue goes back a few years, but the bottom-line is Yelp block requests made from user agents featuring “WordPress”. The default user-agent for wp_remote_get and other methods just so happens to be this.

This issue has a sort of explanation from Yelp. They don’t go into specifics and say why, but the workaround is simple. Set the user-agent to empty or something else.

In my case, I ended up with the following:

$args = array(
  'headers'     => array(
    'user-agent' => '',
    'Content-Type' => 'application/json',
    'Authorization' => 'Bearer ' . $token,
  ),
);

$response = wp_remote_get($endpoint, $args);
$response_code = wp_remote_retrieve_response_code( $response );
$response_body = wp_remote_retrieve_body( $response );

Like I said, a specific problem only to WordPress users who are using the in-built request methods. Curl and other ways you can make a request like file_get_contents do not experience this issue.

Dwayne

Leave a ReplyCancel reply

0 Comments
Inline Feedbacks
View all comments

Primary Sidebar

Popular

  • Handling Errors with the Fetch API
  • How To Get The Hash of A File In Node.js
  • How To Paginate An Array In Javascript
  • Thoughts on the Flipper Zero
  • Testing Event Listeners In Jest (Without Using A Library)

Copyright © 2023 · Dwayne Charrington · Log in

wpDiscuz