Crearemos una aplicación Facebook con el framework Facebook Developer Toolkit para el desarrollo de aplicaciones .NET para Facebook.
Iremos en el paso a paso explicando cada funcionalidad y el como crear la aplicación.
Acá el codigo para que lo revisen: Descargar FacebookStatus
Primer paso. Abrir el Visual Studio y crear un nuevo proyecto como muestra la figura 1.
S
egundo Paso. Selecciona aplicación WinForms y le damos un nombre al proyecto.
framework Facebook Developer Toolkit
Tercer paso. Añadir la referencia a la dll del
Cuarto paso. Crear los controles básicos en nuestro formulario que tendrá la aplicación. Dependiendo de lo que queramos mostrar al usuario es como crearemos nuestro formulario. En la figura que sigue, la figura contiene: A la izquierda, una control Image. A la derecha un control Group Box, el cual contiene tres controles Label que almacenará información del usuario y un control textbox que tendra el estado del usuario. Al lado inferior izquierdo tendra un LinkButton para otorgar permisos de modificación al usuario y el lado inferior derecho, los botones que representan a las acciones Modificar y Refrescar.
Facebook Developers..
Para comenzar nuestra aplicación agregamos las referencias a la bibliotecas de Facebook.
Quinto paso. Ahora le daremos funcionalidad a los controles, antes que todo debemos crear en nuestra cuenta de
Imports Facebook.Components
Imports Facebook.Schema
Imports Facebook.desktop
Public Class Form1
Agregamos como variables globales al formulario el servicio de Facebook y la clave secreta y de aplicación entregadas por facebook.
Private apiKey As String = "API_KEY"
Private secret As String = "SECRET_KEY"
Private flag As Boolean
Private fbServicio As FacebookService = Nothing
Cuando ocurra el evento Load en el formulario realizamos la petición de conexión a Facebook
Private Sub Form1_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
'Instanciamos el servicio de Facebook y le otorgamos el identificador de la aplicación y su clave secreta fbServicio = New FacebookService
fbServicio.ApplicationKey = apiKey
fbServicio.Secret = secret
'Y solicitamos la conexión a Facebook donde se realizará la autenticación de usuario fbServicio.ConnectToFacebook()
'Al ser exitosa esta autenticación se procede a llamar el metodo que carga los datos del usuario.
'Nota: No olvidar que el formulario es una clase y toda funcionalidad encapsulada que se cree es un método de ésta
CargarDatos()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
'Carga los datos del usuario autenticado
Private Sub CargarDatos()
'Se instancia una clase User provista por facebook.Schema
Dim usuario As New user
'Se llama al método getInfo del servicio web que tiene la información del usuario autentificado
usuario = fbServicio.users.getInfo
'Se llenan los datos en los controles creados
GroupBox1.Text = usuario.name
Label6.Text = usuario.sex
Label7.Text = usuario.relationship_status
Label8.Text = usuario.birthday
Label9.Text = usuario.current_location.city
txtEstado.Text = usuario.status.message
imgUser.Image = usuario.picture
'Si el usuario tiene permiso para modificar el estado se le habilita el botón, de lo contrario si habilita el link para que pueda solicitar el permiso de modificación de estado
If fbServicio.users.hasAppPermission(Facebook.Types.Enums.Extended_Permissions.status_update) Then btModificar.Enabled = True
LinkLabel1.Visible = False
End If
End Sub
'Al cargar la informacion, el formulario se mostraria de la siguiente manera.
'Cuando el usuario hace clic al hiperlink para activar el permiso de modificación del estado, se le abre el navegador web hacia la pantalla de modificación del usuario como muestra la figura que sigue.
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
Dim url As String = String.Format("
http://www.facebook.com/authorize.php?api_key={0}&ext_perm=status_update&v=1.0", apiKey)
Process.Start(url)
End Sub
'Una vez otorgados los permisos al usuario, tenemos que agregar la funcionalidad para cuando el usuario clickee el boton Modificar Estado está accion realmente se haga efectiva.
Private Sub btModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btModificar.Click
If fbServicio.users.hasAppPermission(Facebook.Types.Enums.Extended_Permissions.status_update) Then fbServicio.users.setStatus(txtEstado.Text)
MessageBox.Show("Estado modificado exitosamente")
End If
End Sub
Private Sub btRefrescar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) CargarDatos()
End Sub
Y como resultado obtendremos una aplicación que modifica el estado de Facebook pero con un framework distinto. =P Espero que les haya gustado el resultado, pronto volveré con mas novedades. Saludos.