0

好的,这不仅是如何获取图像的 URL,它还不止于此,我继续解释尽可能清楚,我可能会指出我是这方面的新手,我是一个 PHP 初级程序员,这是我第一次使用 Flickr:

我有一个在线的 PHP 网站,我已经完成了所有与 Key、Secret、Token 等相关的事情。所以基本上我有一个工作正常的公共图像上传器。你可以进入我的网站挑选一张图片并将它们上传到我的 Flickr 帐户。

现在,他们这样做的 PHP 基本上是这个:

$apiKey = "(my API Key)";
$apiSecret = "(my API Secret)";
$permissions  = "write";
$token        = "(my Token)";

$f = new phpFlickr($apiKey, $apiSecret, true);
$f->setToken($token);
$f->sync_upload($path, $title);
return $f;

phpFlickr 对象来自 Flickr API,在这种情况下,$f 给了我一个包含图片 ID 和一些其他数据的数组。

如何以 www.flickr.com/something/myPicture.jpg 的形式获取刚刚上传的图片的绝对路径以构建 HTML 标记?

可能 $f 给我的还不够。任何对此的光都会很棒!

希望很清楚。

4

2 回答 2

0

在我开始写作之前,先看看这些链接。他们可能有您正在寻找的东西:

http://www.flickr.com/services/api/misc.urls.html

http://www.flickr.com/services/api/flickr.photos.getInfo.html

如果您尝试构建照片的绝对路径,则必须根据您从成功的 API 调用中获得的信息构建整个路径,该 API 调用将位于 $f 中。查看我发布的第一个链接,鉴于您拥有所需的所有信息,有几种方法可以为图片构建绝对路径。第一种方法是构建照片源 URL,格式如下:

http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}.jpg

或者

http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}_[mstzb].jpg

或者

http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{o-secret}_o.(jpg|gif|png)

构建这些链接所需的信息可以在我上面发布的对 photos.getInfo API 调用的成功调用中找到。构建绝对路径就像将所有变量组合在一起一样简单:

(好久没接触PHP了,多多包涵)

my $link = 'http://farm' . $farmid . '.staticflickr.com/' . $serverid . '/' . $id . '_' . $secret . '.jpg';

第二种方法是构建网页 URL。这可以直接从 photos.getinfo API 调用中获取,也可以在您拥有用户 ID 和/或照片 ID 的情况下手动构建。如果您有所需的信息,则构建链接的方式与我上面的方式几乎相同。查看我发布的第一个链接,了解您需要构建的实际 URL。

我应该提到的最后一件事是您应该确保您的 API 调用正常工作。当我第一次学习如何使用 API 时,我浪费了很多时间,因为我从未检查过 API 调用返回的输出或我的身份验证不正确。执行 vardump($f) (或类似的操作)并查看调用返回的内容可能有助于您了解需要做什么才能获得所需的信息。

于 2013-09-16T21:50:52.673 回答
0

好的,我刚刚找到了方法。如果有人感兴趣:

$f = new phpFlickr($apiKey, $apiSecret, true);
$f->photos_getInfo(PHOTO_ID);

这将为您返回一个包含完成 URL 所需的所有内容的数组。

于 2013-09-17T00:01:42.510 回答