繁体   English   中英

Bing Image Search API结果在一段时间后消失

[英]Bing Image Search API results exipres after some time

我正在用php实现Bing Image Search API。 我知道Bing API已更改,现在我们必须让Windows Azure天蓝色的东西介入,才能使用Bing Image Search API。

我这样做了,这意味着我选择了免费的Bing Search Api订阅,该订阅每月可为我提供约5000笔交易。 它一切顺利,但事情是要获取的结果往往会在1个月后过期。

这是我正在使用的代码:

     $key = "cricket";
     // Replace this value with your account key
     $accountKey = 'WEGUEed3yF9CI6ZzVblKD0HoMRG3/rOELkCda9VYsuk=';
     $ServiceRootURL =  'https://api.datamarket.azure.com/Bing/Search/';  
     $WebSearchURL = $ServiceRootURL . 'Image?$format=json&Query=';

     $request = $WebSearchURL . urlencode( '\'' . $key . '\'');

     $process = curl_init($request);
     curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
     curl_setopt($process, CURLOPT_USERPWD,  $accountKey . ":" . $accountKey);
     curl_setopt($process, CURLOPT_TIMEOUT, 30);
     curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
     $response = curl_exec($process);

     $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>");

在运行该程序时,我得到的结果是图像源。 但问题是图像源似乎不是真实的图像源,我的意思是URL如下所示:

    http://ts4.mm.bing.net/th?id=HN.608026386931518543&pid=15.1

此外,此链接在一个月左右后过期....最初,我能够在单击链接时看到图像,但它在一个月后过期,现在我只能看到带有十字的灰色相机,这意味着我想图像源已过期。

如果可以的话,我怎么能限制这个东西,在天蓝色的Windows终端上需要做的任何事情都可以为我工作。

任何帮助将不胜感激

谢谢

修复原始图像。

在第22行,在何处解释接收和解析的JSON数据

echo('<li class="resultlistitem"><a href="' . $value->MediaURL . '">');

Bing犯了一个错误。

您只需将$value->MediaURL替换为$value->MediaUrl ,就可以获取对原始图像的访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM