Новый пример PHP Bing API не работает

Собственный пример Microsoft PHP для нового Bing API не работает. Пробовал разными способами, просто показывает:

Server Error
401 - Unauthorized: Access is denied due to invalid credentials.
You do not have permission to view this directory or page using the credentials that you supplied.

Пример Кодировка, приведенная в официальной документации, приведена ниже, она разбивается на

'proxy' => 'tcp://127.0.0.1:8888',  

Я на 100% уверен, что мой ключ правильный, и когда я просто ввожу его в URL-адрес браузера, он работает нормально, т.е.

https://api.datamarket.azure.com/Bing/SearchWeb/Web?Query=%27love+message%27

(вам нужно указать ключ API, так как ваш пароль и имя пользователя могут быть любыми)

<html>
    <head>
        <link href="styles.css" rel="stylesheet" type="text/css" />
        <title>PHP Bing</title>
    </head>
    <body>
        <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
            Type in a search:

            <input type="text" id="searchText" name="searchText"
                value="<?php
                        if (isset($_POST['searchText']))

                                   {
                            echo($_POST['searchText']);
                        }
                        else
                        {
                            echo('sushi');
                        }
                       ?>"
            />

            <input type="submit" value="Search!" name="submit" id="searchButton" />
            <?php
                if (isset($_POST['submit']))
                {
                    // Replace this value with your account key
                    $accountKey = 'BKqC2hIKr8foem2E1qiRvB5ttBQJK8objH8kZE/WJVs=';

                    $ServiceRootURL = 'https://api.datamarket.azure.com/Bing/Search/';

                    $WebSearchURL = $ServiceRootURL. 'Image?$format=json&Query=';

                    $context = stream_context_create(array(
                        'http' => array(
                            //'proxy' => 'tcp://127.0.0.1:8888',
                            'request_fulluri' => true,
                            'header' => "Authorization: Basic ". base64_encode($accountKey. ":". $accountKey)
                        )
                    ));

                    $request = $WebSearchURL. urlencode( '\''. $_POST["searchText"]. '\'');

                    echo($request);

                    $response = file_get_contents($request, 0, $context);

                    print_r($response);

                    $jsonobj = json_decode($response);

                    echo('<ul ID="resultList">');

                    foreach($jsonobj->d->results as $value)
                    {
                        echo('<li class="resultlistitem"><a href="'. $value->MediaURL. '">');

                        echo('<img src="'. $value->Thumbnail->MediaUrl. '"></li>');
                    }

                    echo("</ul>");
                }
            ?>
        </form>
    </body>
</html>

Я пробовал и Google API, и Yahoo API, ни один из них не был таким сложным, как этот.

8
задан JJJ 12 July 2012 в 12:00
поделиться