1

PHP内からFacebookファンページのRSS2.0フィードを取得しようとしています。

ブラウザからフィードにアクセスしても問題ありません。しかし、PHPでプルして使用しようとすると、Facebookは「ブラウザのアップグレード」通知にリダイレクトするコードを返します。W3CRSSバリデーターを使用してフィードを検証しようとすると同じことが起こります。

したがって、Facebookには、ユーザーエージェントを分析してフィードを配信するか、「更新する必要がある」ページを提供するロジックが必要です。

問題は、PHP内からそのRSSフィードにアクセスするにはどうすればよいですか?

SimpleXMLまたはDOMdocumentを使用しているときに、ユーザーエージェントヘッダーを直接偽造できますか?CURL(ヘッダーを簡単に設定できる)を使用してフィードをプルするオプションがあることは知っていますが、そうしないことをお勧めします。

どんなアイデアでも大歓迎です!

4

1 に答える 1

1

好奇心もあるかもしれない人にとっては、ini_set()1つの解決策のようです.

<?php

ini_set('user_agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0');

$url = 'https://www.facebook.com/feeds/page.php?format=rss20&id={your-page-id}';
$xml = simplexml_load_file( $url );
foreach($xml->channel->item as $status){
    // Do something for each News Feed update
}

ただし、Zuckberberg がユーザー エージェントの要件を更新したいと感じた場合、これが有効かどうかは誰にもわかりません。

于 2012-10-15T19:33:40.057 に答える