常に望んでいた体を手に入れる
応答ボディを取得するには、wp_remote_retrieve_body()
関数を使用します。この関数は、wp_remote_get()
関数からの応答という1つのパラメータだけを取ります。
$response = wp_remote_get( 'https://api.github.com/users/wordpress' );
$body = wp_remote_retrieve_body( $response );
前の例からの $response
を使用すると、$body
は次のようになります:
{
"login": "WordPress",
"id": 276006,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjI3NjAwNg==",
"avatar_url": "https://avatars0.githubusercontent.com/u/276006?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/WordPress",
"html_url": "https://github.com/WordPress",
"followers_url": "https://api.github.com/users/WordPress/followers",
"following_url": "https://api.github.com/users/WordPress/following{/other_user}",
"gists_url": "https://api.github.com/users/WordPress/gists{/gist_id}",
"starred_url": "https://api.github.com/users/WordPress/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/WordPress/subscriptions",
"organizations_url": "https://api.github.com/users/WordPress/orgs",
"repos_url": "https://api.github.com/users/WordPress/repos",
"events_url": "https://api.github.com/users/WordPress/events{/privacy}",
"received_events_url": "https://api.github.com/users/WordPress/received_events",
"type": "Organization",
"site_admin": false,
"name": null,
"company": null,
"blog": "https://wordpress.org/",
"location": null,
"email": null,
"hireable": null,
"bio": null,
"twitter_username": null,
"public_repos": 50,
"public_gists": 0,
"followers": 0,
"following": 0,
"created_at": "2010-05-13T22:42:10Z",
"updated_at": "2020-05-22T14:27:02Z"
}
応答コードを取得する
取得が成功したことを確認するために、応答コードを確認したいかもしれません。これは、wp_remote_retrieve_response_code()
関数を介して行うことができます:
$http_code = wp_remote_retrieve_response_code( $response );
成功した場合、$http_code
には 200
が含まれます。そうでない場合、いくつかのHTTPステータスコードが含まれます。
特定のヘッダーを取得する
特定のヘッダー、例えば last-modified を取得したい場合は、wp_remote_retrieve_header() を使用できます。この関数は2つのパラメータを取ります
- 1.
$response
– GET コールからの応答 - 2.
$header
– 取得するヘッダーの名前
last-modified ヘッダーを取得するには:
$last_modified = wp_remote_retrieve_header( $response, 'last-modified' );
wp_remote_retrieve_headers() 関数を使用して、配列内のすべてのヘッダーを取得することもできます。
基本認証を使用して取得する
より安全なAPIは、さまざまなタイプの認証の1つ以上を提供します。一般的であるが、あまり安全ではない認証方法はHTTP基本認証です。これは、wp_remote_get()
関数の2番目のパラメータに「Authorization」をバイパスすることでWordPressで使用できます。また、他のHTTPメソッド関数でも使用できます。
$args = array(
'headers' => array(
'Authorization' => 'Basic ' . base64_encode( YOUR_USERNAME . ':' . YOUR_PASSWORD )
)
);
wp_remote_get( $url, $args );
認証についての詳細