2

SimplePie を使用してグループ プールの flickr フィードを取得しようとしています。

$feed = new SimplePie();
$feed->set_feed_url('http://api.flickr.com/services/feeds/groups_pool.gne?id=25938750@N00&lang=en-us&format=rss_200');
$feed->init();
$feed->handle_content_type(); 

次に、典型的な SimplePie php 呼び出しを使用して、フィード項目をループします。ただし、何も返されません。HTML はありますが、フィード要素が挿入されていません。

タグの flickr フィードを使用しようとすると、次のようになります。

$feed->set_feed_url('http://api.flickr.com/services/feeds/photos_public.gne?tags=architecture,building&lang=en-us&format=rss_200');

公開写真フィードから写真のリストを取得しましたが、タグは考慮されていません。

何か案は?私が考えられる唯一のことは、API キーが必要であるということですが、flickr Web サイトには、フィード呼び出しにキーが必要であることを示すものは何もありません。さらに、ブラウザで両方のタイプのフィードを開いて、探しているフィードを取得できます。

4

5 に答える 5

3

「replace_invalid_with_pct_encoding」の目的は、クエリ文字列内のすべての無効な文字をエスケープすることです。

そのため、単に削除するのが最も安全なオプションではない可能性があります。それ以来、RSS エントリ経由で入ってくるリンクの無効な文字もエスケープされなくなりました。そして、それはおそらくあなたが望むものではありません。

発生した問題は疑問符が原因ではなく、URL に「=」および「&」文字が含まれていることが原因です。

同じ問題があり、次のようにこれらの 2 つの文字を「有効な」文字として追加しました。

$this->query = $this->replace_invalid_with_pct_encoding($query, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$\'()*+,;:@/?=&');

于 2010-08-19T19:55:21.360 に答える
1

"&="それを関数に追加するとset_query、魅力的に機能しました! (ありがとうパトリス)

このパッケージのセキュリティ部分は私の頭をはるかに超えているため、null に設定するのは不快でした。私の phpBB フォーラムからフィードを取得して姉妹サイトにリンクしようとして、何時間も頭を悩ませていました。

get_linksパズルの最後のピースでした。私のために働きます。

于 2010-11-10T15:17:55.163 に答える
0

これは、フィードから小さな四角い親指を作成する、私が書いている Flickr / ZenPhoto / Picasa Web RSS スクリプトに役立ちました。

少し磨きをかけて、自分のコードだけでなく、他の人が使えるようにコードを準備したいのですが、このままです。

于 2010-03-31T16:40:52.053 に答える
0

私は同じ問題を抱えていました。解決策は、グループのディスカッションの RSS フィードではなく、グループの画像プールの RSS フィードを取得していることを確認することでした。その後、サムネイルはすぐに利用できました。

于 2012-03-05T03:54:49.623 に答える