使用Config for api token会产生错误&#URI; URI必须是字符串或UriInterface' Laravel

时间:2017-04-09 11:42:29

标签: php laravel laravel-5.3

我正在尝试进行API调用。

如果我这样做:$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

配置/ app.php

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

1 个答案:

答案 0 :(得分: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}";

此时您应该使用格式正确的URL与Guzzle一起使用。