2017-04-09 32 views
2

我正在尝试进行API调用。使用配置api标记给出错误'URI必须是字符串或UriInterface'Laravel

如果我这样做:$url = "url-code.com?param1=value1&param2=value2&_token=enter-key-here"; 我没有得到任何错误。

如果我这样做:$url = "url-code.com?param1=value1&param2=value2&_token="+Config::get('app.john_doe_key');

我得到一个错误: 'URI必须是一个字符串或UriInterface'

mycode的

$statusCode = 200; 
     $url = "url-code.com?param1=value1&param2=value2&_token="+Config::get('app.john_doe_key'); 

      $client = new Client(); 
      $res = $client->get($url); 
      //dd($res); 
      return $res->getBody(); 

.ENV

JOHN_DOE_APP_KEY=key 

config/app .PHP

'john_doe_key' => env('JOHN_DOE_APP_KEY'), 
+0

好奇,你使用配置助手会发生什么? '配置( 'app.john_doe_key')'?这就是说,你也可以使用配置文件吗? –

+0

似乎'Config :: get('app.john_doe_key')'为空。它打印什么? – Yolo

+0

你用+来追加字符串吗? – manian

回答

2

好,基于我们对原来问题的意见的讨论,这里就是我会尝试。

因为一切都在它自己的工作正常,我会把所有的参数在各自为阵:

$parameters = [ 
    'someParam' => 'value', 
    'someOtherParam' => 'value', 
    '_token' => Config::get('app.john_doe_key') 
]; 

并使用http_build_query()正确格式化:

$formattedParameters = http_build_query($parameters); 

最后,建立与我有什么URL:

$url = "http://url-code.com?{$formattedParameters}"; 

你应该有一个correctl y格式化的URL,以便在此时使用Guzzle。

+0

你可以看看这个问题:http://stackoverflow.com/questions/43306641/how-to-update-the-data-every-1-second-on-server-side- php-laravel是基于相同的代码。我想在服务器端每隔1秒执行一次。我将创建一个RESTful Api来访问我的应用程序中的这些数据。 –

相关问题