

ローカル環境で、Instagram
のAPIを使ってPHP開発を行っています。アクセストークン取得の為のアプリの認証の際、ログイン画面から、InstagramにURLを飛ばすと下記のようなエラー表示がでてしまいます。  
認証画面が立ち上がるはずなのですが、間違っている該当箇所について検討がつかず、エラー解決の為の参考文献も見つけられない状態です。  
どなたかアドバイスいただけますでしょうか。宜しくお願いします。

エラー：

[code]

    {
        "code": 400,
        "error_type": "OAuthException",
        "error_message": "You must include a valid client_id, response_type, and redirect_uri parameters"
    }
    
[/code]

ブラウザで返ってくるURL：

[https://instagram.com/oauth/authorize/?client_id=[CLIENT_ID]redirect_uri=http://insta.com/htdocs/redirect.php&%26scope=basic%2Bcomments%2Brelationships%2Blikes&%26response_type=code](https://instagram.com/oauth/authorize/?client_id=\[CLIENT_ID\]redirect_uri=http://insta.com/htdocs/redirect.php&%26scope=basic%2Bcomments%2Brelationships%2Blikes&%26response_type=code)

[code]

    session_start();
    if (empty($_GET['code'])) {
      // 認証前の準備
      $params = array(
      'client_id' => CLIENT_ID,
      '&redirect_uri' => SITE_URL.'htdocs/redirect.php',
      '&scope' => 'basic+comments+relationships+likes',
      '&response_type' => 'code'
      );
      $url = 'https://api.instagram.com/oauth/authorize/?'.http_build_query($params);
    
      // Instagram にとばす
      header('Location: '.$url);
      exit;
    
[/code]


CC BY-SA 3.0
2015-11-17T19:22:44.387
18959
2016-04-17T00:10:21.793
2015-11-18T16:24:52.073
76
13306
question
php api oauth instagram
アクセストークン取得の為のOAuth認証が上手くいきません


http_build_queryに渡しているarrayは、&や+を使わなくても確か自動で付加されたと思います。


CC BY-SA 3.0
2015-11-18T08:44:14.390
18981
2015-11-18T08:44:14.390
13314
18959
answer


下記で如何でしょうか？

[code]

     // 認証前の準備
     $params = array(
         'client_id' => CLIENT_ID,
         'redirect_uri' => urlencode(SITE_URL.'htdocs/redirect.php'),
         'scope' => 'basic comments relationships likes',
         'response_type' => 'code'
     );
     $url = 'https://api.instagram.com/oauth/authorize/?'.http_build_query($params);
    
     // Instagram にとばす
     header('Location: '.$url);
     exit;
    
[/code]


CC BY-SA 3.0
2015-11-18T18:10:36.700
19003
2015-11-18T18:10:36.700
18959
answer