2011-07-08 13 views
0

私はオフラインパーミッションを保証してユーザーの壁に投稿するFacebookアプリケーションを開発しています。私は(このコードは、「index.phpを」である)FacebookのAPIとPHPを使用しています:オフラインパーミッションでブラウザを使わずにFacebookの壁に投稿する

$user = $_GET['user']; 
(if(isset($_GET['publish'])) { 
    $attachment = array(
        'message' => "My message", 
        'link' => "http://...", 
        'picture' => 'my_url_picture', 
        'name' => "link_name", 
        'caption' => 'my_caption', 
        'description'=> 'my_description' 
        ); 
    $publishStream = $facebook->api("/$user/feed", 'post', $attachment); 
} 

を今、私はイベントが発生した場合、ユーザー壁内に投稿するために持っている、Javaサーブレットを使用しますこの方法で:

if(event) { 
    Runtime rt = Runtime.getRuntime(); 
    String url_post = "http://apps.facebook.com/myapp/index.php?publish=1&user=user_id"; 
    rt.exec("rundll32 url.dll,FileProtocolHandler " + url_post); 
} 

すべては問題ありません。イベントが発生すると、サーバは前のリンクでブラウザを開き、ユーザ(user_idとともに)の壁に正しく表示されます。 ブラウザページを開かずにリンクにアクセスすることはできますか?私は、私のアプリであるWindows 7 Pro Service Pack 1(Windows XPでもテスト済み)のテストに樹脂4.0を使用しています。 ご協力いただきありがとうございます。

答えて

0

あなたが正しく理解していれば、システムブラウザを開くことなく投稿する方法がわかりません。たぶんあなたはSnoopy(http://sourceforge.net/projects/snoopy/)のようなプログラミングブラウザを探す必要があります。あなたは何も開かずにhttpのrequstを作ることができます。

+0

はい、あなたは私を理解していますが、ここではスヌーピーはPHPクラスであると読んでいます。問題はPHPではありません。私のindex.phpページにアクセスすればコードはうまく動作するからです。問題は、私のサーブレットで私のページを訪問する必要がありますJava側、beacuseです。私がスヌーピーを使用する場合、私はブラウザをシミュレートすることしかできませんが、このためにはindex.phpにアクセスしなければなりません。 – Baduel

0

apache httpclientプロジェクトを見てください。

+0

公式サイトから:Commons HttpClientプロジェクトは現在廃止されており、もはや開発中ではありません。 – Baduel

関連する問題