0

FacebookにリンクするAndroidアプリに取り組んでいます(次のチュートリアルを使用 - https://developers.facebook.com/docs/mobile/android/build/)。ただし、友達の情報ページをダウンロードして保存したいので、私のプログラムは、メールや電話番号など、Facebook API が提供しない詳細情報を読み取ることができます。以下にリストされているルーチンを使用すると、Facebook はログインしていると見なしません。

public static void main(String[] args) {
    try {
      URL u = new URL("https://www.facebook.com/profile.php?id=********");//where id is your friend's profile ID
      OutputStream out = new FileOutputStream("bob.html");
      InputStream in = u.openStream();
      DTD html = DTD.getDTD("html");
      System.out.println(html.getName());
      in.close();
      out.flush();
      out.close();
    } catch (Exception e) {
      System.err.println("Usage: java PageSaver url local_file");
    }
}
4

3 に答える 3

2

Facebook API を使用して友達の電話番号やメール アドレスを取得する方法はありません。ただし、ユーザーのプライバシーを保護するためにそのように構成されていることがわかります。

この情報を URL から直接取得したい場合は、おそらく Facebook のログイン プロセスをシミュレートする必要があります。つまり、POST メッセージをhttp://www.facebook.comに送信し、ユーザー名とパスワードを解析します。ユーザー。これにより、ログインし、セッション オブジェクトが作成されます。次に、プロファイル URL を呼び出してセッション オブジェクトを渡すと、必要な情報が返されます。

ただし、この種のアクセスは Facebook によって固く禁じられていることを指摘しておく必要があります。Facebook は利用規約で、この種の手順を使用してプロファイルにアクセスしようとする開発者やアプリを禁止することを完全に明確にしています。ページ。開発者の Facebook ポリシーについては、https://developers.facebook.com/policy/を参照してください。

于 2012-04-23T13:52:40.580 に答える
0

Facebook インスタンスを使用して、Facebook ユーザーとしてログインしました: facebook.request("me"); あなたの詳細をJSONオブジェクトとして取得します。そこから詳細を知ることができます

String name = json.getString("name");
        String email = json.getString("email");
        String gender = json.getString("gender");
        String id = json.getString("id");

友人の場合: facebook.request("me/friends"); 友人の詳細をJSON配列として取得し、そこから友人の詳細をJSONオブジェクトとして取得できます。

于 2012-04-23T07:48:04.673 に答える
0

Facebook Graph API を使用して、必要な権限を要求します。

拡張許可が必要です

email

ユーザーのメールを読む。

友人の電子メールに対する同等の許可はありません。ログインしたユーザーのメールのみを取得できます。

次のように電話すると、メールが届きます。

https://graph.facebook.com/me

ユーザーのログイン後、つまりアクセストークンが必要です。

私の知る限り、電話番号には API 経由でアクセスできません。

友達の基本情報にアクセスするには、次のように呼び出します。

https://graph.facebook.com/USER_ID

これらのアクセス許可を追加すると、「/USER_ID」呼び出しからより詳細な情報を取得できます。

friends_about_me
friends_interests
friends_relationships
friends_birthday
friends_hometown
friends_location   

ただし、「/USER_ID」呼び出しでは、Web の情報ページに表示されるすべてのユーザー データが返されるわけではありません。これらの呼び出しを介して追加情報にアクセスできます。

/USER_ID/interests

ユーザーのプロファイルにリストされている興味を返し、user_interests パーミッションが必要です

/USER_ID/music

ユーザーのプロフィールにリストされている音楽を返します

/USER_ID/books

ユーザーのプロフィールにリストされている書籍を返します

/USER_ID/movies

ユーザーのプロフィールにリストされている映画を返します

/USER_ID/television

ユーザーのプロフィールにリストされているテレビを返します

/USER_ID/likes

このユーザーが気に入ったすべてのページを返し、user_likes パーミッションが必要です

于 2012-04-23T08:26:26.907 に答える