我正在努力学习Instagram的API作为辅助项目。我已按照本教程(http://eduvoyage.com/instagram-search-app.html)通过hashtag实现搜索功能。这对我非常有帮助。我在API中看到的一件事是位置ID功能,我想知道如何实现它。通过在这个网站上搜索,我发现可以发出一个请求,返回以下内容。
'{
"meta": {
"code": 200
},
"data": {
"attribution": null,
"tags": [],
"type": "image",
"location": {
"latitude": 48.8635,
"longitude": 2.301333333
},
"comments": {
"count": 0,
"data": []
},
..........'
我正在试图找出这个教程来处理这些信息。 (http://www.ibm.com/developerworks/xml/library/x-instagram1/index.html#retrievedetails)
<html>
<head>
<style>
</head>
<body>
<h1>Instagram Image Detail</h1>
<?php
// load Zend classes
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Http_Client');
// define consumer key and secret
// available from Instagram API console
$CLIENT_ID = 'YOUR-CLIENT-ID';
$CLIENT_SECRET = 'YOUR-CLIENT-SECRET';
try {
// define image id
$image = '338314508721867526';
// initialize client
$client = new Zend_Http_Client('https://api.instagram.com/v1/media/' . $image);
$client->setParameterGet('client_id', $CLIENT_ID);
// get image metadata
$response = $client->request();
$result = json_decode($response->getBody());
// display image data
?>
<div id="container">
<div id="info">
<h2>Meta</h2>
<strong>Date: </strong>
<?php echo date('d M Y h:i:s', $result->data->created_time); ?>
<br/>
<strong>Creator: </strong>
<?php echo $result->data->user->username; ?>
(<?php echo !empty($result->data->user->full_name) ?
$result->data->user->full_name : 'Not specified'; ?>)
<br/>
<strong>Location: </strong>
<?php echo !is_null($result->data->location) ?
$result->data->location->latitude . ',' .
$result->data->location->longitude : 'Not specified'; ?>
<br/>
<strong>Filter: </strong>
<?php echo $result->data->filter; ?>
<br/>
<strong>Comments: </strong>
<?php echo $result->data->comments->count; ?>
<br/>
<strong>Likes: </strong>
<?php echo $result->data->likes->count; ?>
<br/>
<strong>Resolution: </strong>
<a href="<?php echo $result->data->images
->standard_resolution->url; ?>">Standard</a> |
<a href="<?php echo $result->data->images
->thumbnail->url; ?>">Thumbnail</a>
<br/>
<strong>Tags: </strong>
<?php echo implode(',', $result->data->tags); ?>
<br/>
</div>
<div id="image">
<h2>Image</h2>
<img src="<?php echo $result->data->images
->low_resolution->url; ?>" /></a>
</div>
<div id="comments">
<?php if ($result->data->comments->count > 0): ?>
<h2>Comments</h2>
<ul>
<?php foreach ($result->data->comments->data as $c): ?>
<div class="item"><img src="<?php echo $c
->from->profile_picture; ?>" class="profile" />
<?php echo $c->text; ?> <br/>
By <em> <?php echo $c->from->username; ?></em>
on <?php echo date('d M Y h:i:s', $c->created_time); ?>
</div>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>
</div>
<?php
} catch (Exception $e) {
echo 'ERROR: ' . $e->getMessage() . print_r($client);
exit;
}
?>
</body>
</html>
我遇到的主要问题(我认为)在这里: require_once'Zend / Loader.php'; 那么Zend_Loader ::的loadClass( '一个Zend_Http_Client');
我下载了Zend Frame 1.12.13,但我不确定这些代码行要求的是什么。在Zend Framework文件夹中,它是“Zend / Loader(Folder)”,但没有任何名为“Loader.php”。这只是加载'Loader'文件夹中的所有内容吗?对于Zend_Loader,有一个Zend / Http / Client目录,但Client也是一个文件夹。
TL;博士 尝试设置一个将搜索instagram的程序(如上面的教程中所链接),可以单击图片结果,打开一个显示图片和用户配置文件的选项卡,以及另一个显示所有图像元数据的选项卡。有更简单的方法吗?还是一个更加noob友好的教程?
答案 0 :(得分:0)
使用此示例时遇到了类似的问题。您必须在此示例的最顶部包含Zend框架的路径。我是在顶部自己的php块中完成的。
ini_set('include_path', 'path/to/ZendFramework/library');