2008-09-17 13 views
6

Estoy buscando una forma de conectarme a Facebook permitiendo que el usuario ingrese su nombre de usuario y contraseña y que nuestra aplicación se conecte a su cuenta y obtenga sus contactos para que puedan invitar ellos para unirse a su grupo en nuestro sitio. He escrito una aplicación de Facebook antes, pero esta no es tanto una aplicación como un conector, por lo que pueden invitar a todos sus amigos o solo a algunos al sitio en el que estamos trabajando.Cómo importo amigos de Facebook de otro sitio web

He visto varios otros sitios hacer esto y también conectarse a Yahoo, Gmail y contactos de Hotmail. No creo que estén usando Facebook Connect para hacer esto, ya que es muy nuevo, pero pueden serlo.

Cualquier solución en cualquier idioma está bien ya que puedo portar cualquier ejemplo para usar C#. No puedo encontrar nada específicamente en Google o Facebook para abordar este problema específico. Cualquier ayuda es apreciada.

Vi cómo se eliminaba una primera respuesta que sugería que podría necesitar raspar la página de amigos. Cuanto más miro, esto podría ser lo que tengo que hacer. De cualquier otra manera, creo que requerirá que la persona lo agregue como una aplicación. Me pregunto cómo se puede eliminar una respuesta, tal vez ese usuario la eliminó.

Respuesta

2

Parece que Facebook tiene una API para esto. Mira este blog aquí.

http://developers.facebook.com/news.php?blog=1&story=73

+0

Requiere una clave de aplicación para que el usuario aún tenga que aceptarla como una aplicación. Definitivamente voy a investigarlo. Parece genial usar JavaScript en lugar del lado del servidor. –

10

no responder a la pregunta, pero es de esperar que proporciona una cierta penetración ...

Es características como ésta, que enseñan a la gente que es buena idea introducir su nombre de usuario y una contraseña para el sitio A en un formulario desde el sitio B. Esto definitivamente no está bien. Por favor no hagas que la gente piense que es.

Pero tal vez la API de Facebook le permite evitar este problema, haciendo que las personas inicien sesión en el propio Facebook para dar acceso a su aplicación. Una ligera pero importante diferencia.

3

Miré que está bien para contestar mi propia publicación, así que aquí está.

Resulta que deberá eliminar la lista de amigos que no es legal en los términos de uso de Facebook. Entonces no haremos esto para nuestros sitios. Aquí hay algunos artículos que muestran lo que sucede cuando no se cumplen las reglas. Plaxo probó su raspado con Scoble y Facebook cerró la cuenta de Scobles en enero de este año.

http://scobleizer.com/2008/01/03/what-i-was-using-to-hit-facebook/

http://news.cnet.com/8301-13577_3-9839474-36.html

+1

facebook está dirigido por idiotas, entonces ... rozarán felizmente una docena de sitios diferentes para importar amigos, (usando el método sombrío donde tienes que confiar en facebook con tu contraseña) pero tratas de robarles y te cierran ? – davr

+0

Deben desalentarlo, ya que quieren libertad para cambiar su diseño, lo que rompería su raspador. el uso de sus API ofrece una mejor oportunidad de mantenerlo funcionando durante más tiempo. – Karl

+1

@Karl: Asumiendo que su API te permite hacer lo que quieras ... solo quieren controlar tu mierda. Solo te permiten tocar cosas siempre que les traiga más tráfico. – mpen

1

Aquí es una herramienta de código abierto PHP 5 para dejar de importar contactos de ambas correo electrónico y algunas redes sociales como Facebook: OpenInviter es una clase PHP de código abierto, escrito en PHP5 , para importar contactos de la mayoría de los proveedores de correo electrónico conocidos & redes sociales.

5

Puede usar Facebook Connect 'Enlace de cuenta'.

Python/Django ejemplo de Facebook developers wiki:

Página:

def invite_friends(request): 
    #HTML escape function for invitation content. 
    from cgi import escape 
    facebook_uid = request.facebook.uid 

    # Convert the array of friends into a comma-delimeted string. 
    exclude_ids = ",".join([str(a) for a in request.facebook.friends.getAppUsers()]) 

    # Prepare the invitation text that all invited users will receive. 
    content = """<fb:name uid="%s" firstnameonly="true" shownetwork="false"/>  wants to invite you to play Online board games, <fb:req-choice url="%s" label="Put Online Gaming and Video Chat on your profile!"/>""" % (facebook_uid, request.facebook.get_add_url()) 

    invitation_content = escape(content, True) 
    return render_to_response('facebook/invite_friends.fbml', 
      {'content': invitation_content, 'exclude_ids': exclude_ids }) 

Plantilla:

<fb:request-form action="http://apps.facebook.com/livevideochat/?skipped=1"  
     method="POST" invite="true" type="Online Games" 
     content="{{ content }}">   

    <fb:multi-friend-selector max="20" 
     actiontext="Here are your friends who aren't using Online Games and Live Video Chat. Invite them to play Games Online today!" 
     showborder="true" rows="5" exclude_ids="{{ exclude_ids }}"> </fb:request-form> 
-1

Sólo importarlos a Yahoo usando FB Connect. ¿Todo mejor? Sin raspado de pantalla, sin violaciones de FB. Hecho.

+2

¿Sugiere que los finalistas deben tener o crear una cuenta de Yahoo, importar sus contactos de Facebook y luego hacer que la aplicación acceda a alguna API de Yahoo? Suena terrible. – GargantuChet

+0

Vaya, debería prestar más atención cuando publique desde un dispositivo móvil. s/end-ists/end-users/en mi comentario anterior. – GargantuChet

Cuestiones relacionadas