1

私のコード:

function jsonCall()
{

    global $_SESSION;
    global $smarty;

    $client_id = "XXXXXXXX";
    $next_max_tag_id = 1349756086082;

    if(isset($_POST['nextSubmit']))
        {
            $next_max_tag_id = $_POST['next_max_tag_id'];
        }


    $url ='https://api.instagram.com/v1/tags/' . $_SESSION['zoekterm'] . '/media/recent?access_token=145408254.f59def8.448ef83c8fa740aa9744a0c47766a857&max_tag_id=' . $next_max_tag_id;

    $json = file_get_contents($url);
    $json_output = json_decode($json,true);

    file_put_contents('json/instagram.json',$json);

    $imagesErbuiten = array();

            foreach($json_output['data'] as $data)
            {
                foreach($data['images'] as $images)
                {
                    array_push($imagesErbuiten, $images);
                }
            }


    $smarty->assign('arrData',$imagesErbuiten);
    $smarty->assign('next_max_tag_id',$json_output['pagination']['next_max_tag_id']);
}

InstagramAPIとFlickrAPIを使用しています。検索フィールドに不明な値がある場合、どちらも同じエラーを受け取ります。

例として:

Instagramは、ポルノ、おっぱいなどのタグによる検索を許可していません...これが発生すると、400Badリクエストが表示されます。QSDFQSDFQSDFQSDF(etherには存在しません)を検索する場合、検索は有効であるが配列が空であるという理由だけでエラーは発生しません(これは良いので、「何も見つかりませんでした」と表示できます)。

空きスペースの問題ではありません。私はすでにすべての空のスペースを除外し、それらを+に置き換えました。

私の質問:

このエラーを削除または修正することは可能ですか?私のページの上部にその醜いエラーが表示されることを除いて、すべてが正常に機能します。

ご挨拶、W。

4

1 に答える 1

4

別の方法の1つは、cURL(http://php.net/manual/en/book.curl.php)を使用して、印刷前にリクエストの詳細を取得することです。

このようなものはおそらくあなたを助けることができます:

function url_get_contents ($Url) {
    if (!function_exists('curl_init')){ 
        die('CURL is not installed!');
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $Url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get the code of request
    curl_close($ch);

    if($httpCode == 400) 
       return 'No donuts for you.';

    if($httpCode == 200) //is ok?
       return $output;


}
于 2012-10-11T12:26:39.590 に答える