2015-08-14 119 views
2

我正在关注一个instagram教程。我已经完成了我的代码约一个小时,似乎无法找到。这个问题我不断收到以下错误我一直收到这个错误file_get_contents(未能打开流:HTTP请求失败!HTTP/1.1 400 BAD REQUEST

file_get_contents(https://api.instagram.com/v1/media/search?lat33.810485&lng=-117.918989&client_id=b2b2dccbfc432681097): failed to open stream: HTTP request failed! HTTP/1.1 400 BAD REQUEST 

(查看:/home/vagrant/Code/api/resources/views/welcome.blade.php)

其用手一指13

这是标记为

我有一切在视图中。我正在使用laravel 5.1。一切似乎都是最新的。继承人我的代码

<?php 
    if(!empty($_GET['location'])){ 
     $maps_url = 'https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($_GET['location']); 

    $maps_json = file_get_contents($maps_url); 
     $maps_array = json_decode($maps_json, true); 

     $lat = $maps_array['results'][0]['geometry']['location']['lat']; 
     $lng = $maps_array['results'][0]['geometry']['location']['lng']; 

     $instagram_url = 'https://api.instagram.com/v1/media/search?lat'.$lat.'&lng='.$lng.'&client_id=b2b2dccbfc432681097'; 

     $instagram_json = file_get_contents($instagram_url); 
     $instagram_array = json_decode($instagram_json, true); 

    } 
    ?> 



    <!DOCTYPE html> 
    <html> 
     <head> 
      <title>api geocode</title> 

      <link href="//fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css"> 

      <style> 
       html, body { 
        height: 100%; 
       } 

       body { 
        margin: 0; 
        padding: 0; 
        width: 100%; 
        display: table; 
        font-weight: 100; 
        font-family: 'Lato'; 
       } 

       .container { 
        text-align: center; 
        display: table-cell; 
        vertical-align: middle; 
       } 

       .content { 
        text-align: center; 
        display: inline-block; 
       } 

       .title { 
        font-size: 96px; 
       } 
      </style> 
     </head> 
     <body> 
      <div class="container"> 
       <div class="content"> 
        <div class="title">Laravel 5</div> 

        <form action=""> 
         <input type="text" name="location"> 
         <button type="submit">submit</button> 
         <br> 
         <?php 
          if(!empty($instagram_array)){ 
          foreach($instagram_array['data'] as $image){ 
           echo '<img src="'.$image['images']['low_resolution']['url'].' " 
           alt=""/>'; 
          } 
         } 
         ?> 
        </form> 
       </div> 
      </div> 



     </body> 
    </html> 

任何帮助将不胜感激。

+0

您是否尝试过写网址为不换行字符串? –

回答

2

这是你的问题:

$maps_url = 'https://maps.googleapis 
    .com/maps/api/geocode/json?address='. 
    urlencode($_GET['location']); 

你必须在一个新行字符(和一些空格)的地址。这是地址看起来什么,当你把它传递给file_get_contents(),如:

'https://maps.googleapis\n  .com/maps/api/geocode/json?address=' 

您可以通过拆分其固定到两个字符串这个或把它放在一个行:

$maps_url = 'https://maps.googleapis' . 
    '.com/maps/api/geocode/json?address='. 
    urlencode($_GET['location']); 

的Instagram的URL遭受来自同一个问题。

1

当我复制并粘贴代码时,uri中存在拼写错误。它失去了一个等号的拉特键值对

相关问题