2010-12-20 18 views
5

私は自分のアドレス帳をFacebookに同期させ、私のアドレス帳から私のFacebookのプロフィールにアクセスできるようになりました。 別のアプリケーションからアカウントに接続されているFacebookのデータを読み込み、同期したユーザーのFacebook IDを取得したいと考えています。ContactsContracts APIを介してユーザーからfacebook idを取得するにはどうすればよいですか?

facebookに関連するものが含まれているContactContracts.Dataテーブルのmimetypeやデータフィールドが見つかりません。 anybodeはこれを正常に完了しましたか?

Facebookはどういうわけかこのデータへのアクセス許可を制限しているようです。これはどのように行われ、アドレス帳で同期されているFacebookの連絡先情報にアクセスするためにはどのアクセス許可が必要ですか?

+0

facebookがこのデータへのアクセス許可を制限しているようです。 – Janusz

答えて

0

googleからfacebookアプリ向けに作成されたexceptionのため、これまで公式のAPIではこれができなかったようです。私はfacebookがその次のバージョンでは、公式のアンドロイドAPIに準拠することを願っています。

3

ユーザーが連絡先にその情報を持っている場合は、そのユーザーとFacebookの友人でもあります。グラフapiを使用して、友人のリストを取得し、選択した連絡先名でフィルタリングするか、返されたfacebook APIクエリの名前から作成されたリストビューから選択させてください。

try { 
    JSONObject response = Util.parseJson(facebook.request(
    "/me/friends", new Bundle(), "GET")); 

    JSONArray jArray = response.getJSONArray("data"); 

    for (int i = 0; i < jArray.length(); i++) { 
     JSONObject json_data = jArray.getJSONObject(i); 
     tempMap = new HashMap<String, Object>(); 
     tempMap.put("friend", json_data.getString("name")); 
     tempMap.put("id", json_data.getString("id")); 
     friendlist.add(tempMap); 
    } 
} catch (MalformedURLException e) { 
    e.printStackTrace(); 
} catch (JSONException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} catch (FacebookError e) { 
    e.printStackTrace(); 
} 
+0

確かにそれは可能ですが、はるかに仕事は、連絡先のAPIを見てください。 Facebookのアドレス帳のような私の友人の私的なデータにアクセスできるので、facebookはアドレス帳のユーザーとより良いマージを行うことができます。 – Janusz

+0

あなたの質問では、そのユーザーのfacebook情報がほしいと言っています...あなたはIDを返信して、すべての情報をJSON形式で取得し、「データ」にステップインします。おそらく、あなたはより明確になり、あなたが探している部分があるかもしれません。電子メールだけが必要な場合は、まだ良い方法があります。 – trgraglia

+0

私のアドレス帳のユーザーに属するfacebook idにアクセスしたいです。そして、Facebookブックはすでに私のためにFacebookのアドレス帳のエントリと友人のマージをしたので、私は連絡先APIを通じてそれをしたいと思います。 – Janusz

0

またgigya.com(私は最近まで働いていた)が提供するAPIとandroid SDKでの作業を検討することができます。

関連する問題