簡體   English   中英

Laravel guzzle獲取對API的請求,進行交互

[英]Laravel guzzle Get request to API , interaction

我正在嘗試將獲取請求發送到此API https://api.coinmarketcap.com/v1/ticker/bitcoin/ ,並且工作正常,我正在獲取對象,但是當我嘗試調用對象屬性時,卻給了我錯誤:

Undefined property: GuzzleHttp\Psr7\Response::$id

這是我的代碼:

$client = new GuzzleHttp\Client(['base_uri' => 'https://api.coinmarketcap.com/v1/ticker/']);
    $response = $client->request('GET', 'bitcoin');  
    return $response->id;;

我真的不知道如何與這個對象互動...

Guzzle Response對象無法正常工作,它不會假設響應內容是什么,並且不會代理您對屬性的請求。

您曾經可以調用$response->json() ,但是由於PSR-7而無法執行此操作。 而是這樣做:

$items = json_decode($response->getBody());
foreach ($items as $item) {
     echo($item->id);
}

該端點返回一個對象數組。 因此,您將需要獲取第一個,或者如果有多個循環遍歷它們。

注意:如果要在控制器頂部添加名稱空間,例如:

use \GuzzleHttp\Client;

然后,您只需在代碼中將其引用為Client例如:

$client = new Client(...);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM