Find Jobs
Hire Freelancers

Create a standard API for Bebo social network based on abstract method definition

$500-1000 USD

Cancelado
Publicado hace más de 15 años

$500-1000 USD

Pagado a la entrega
Attached is an abstract class in C#, .NET framework 3.5, in addition to a couple of supplementary class objects. We need this class to be implemented as a specific Bebo social network provider class that implements functionality for all of the methods laid out in the abstract class. In addition, we would like a test bed project to be attached so that the provider can be tested out with Bebo. Note that we already have this implemented as a different project for Facebook. We can provide the project that details the implementation to the winning bidder to speed up the work. Since Bebo mostly uses Facebook API's, that should provide a solid base for the implementation. ## Deliverables using [login to view URL]; namespace [login to view URL] { ? abstract class RBSocialNetworkProvider ? { ? private readonly string _sessionId; ? private string _socialNetworkCode; ? /*TODO: establish all of the other properties necessary for ? ? * communication with the specific social network ? ? */ ? public string SessionId ? { ? ? get { return _sessionId; } ? } ? public RBSocialNetworkProvider(string sessionId) ? { ? ? _sessionId = sessionId; ? ? /*TODO: set _socialNetworkCode to code default based on the provider ? ? ? */ ? } ? /* ? ? * This method returns a list of friends for the current social network user ? ? * it is a simple array of unique user id's of friends ? ? * of the logged in user (based on _sessionId) in the current social network ? ? */ ? public abstract string[] GetFriends(); ? /*TODO ? ? * ? ? * this method returns the social nework context of the currently logged in user, based on session id ? ? * ? ? */ ? public abstract string GetUid(); ? /*TODO: ? ? * This method returns a SocialNetworkUser object for the currently logged on user ? ? * note that only unique user id and email are directly exposed, and the rest of the dmographics are loaded into ? ? * the demographics dictionary ? ? * ? ? * More deails on the makeup of SocialNetworkUser below. ? ? */ ? public abstract SocialNetworkUser GetInfo(); ? /* ? ? * TODO: ? ? * ? ? **/ ? public abstract SocialNetworkUser[] GetInfo(string[] uids); ? /*TODO: ? ? * This method returns a list of group id's for the social network of the currently ? ? * logged on user ? ? */ ? public abstract string[] GetGroups(); ? /*TODO: ? ? * ? ? * This method will return a singular SocialNetworkGroup object ? ? * based on group id. Limited to groups available to currently logged on user ? ? * ? ? */ ? public abstract SocialNetworkGroup GetGroupInfo(string groupId); ? /*TODO: ? ? * ? ? * similar to GetGroups method above, only with detail. ? ? * Limited to groups visible to the currently logged on user ? ? * ? ? */ ? public abstract SocialNetworkGroup[] GetGroupDetails(); ? /*TODO: ? ? * ? ? * return list of group member id's based on the group id, for the currently logged on member ? ? */ ? public abstract string[] GetGroupMembers(string groupId); ? /*TODO: ? ? * ? ? * send notification to the user within the social network framework. The notification at bare minimum must support formatted text and links ? ? */ ? public abstract void SendUserNotification(string notification, string[] uids); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: GetTemplateBundles ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// returns an array of bundle id's ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? public abstract string[] GetTemplateBundles(); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: RegisterTemplateBundle ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// accepts aparameters necessary to create a template bundle ? ? ? ? ? ? ? /// returns bundle id. ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// wrapper of Facebook method [login to view URL] ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <param name="oneLiners"></param> ? ? ? ? ? ? ? /// <param name="shorts"></param> ? ? ? ? ? ? ? /// <param name="fulls"></param> ? ? ? ? ? ? ? /// <param name="links"></param> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? public abstract string RegisterTemplateBundle(List<string> oneLineStoryTemplates, List<FeedTemplate> shortStoryTemplates, FeedTemplate fullStoryTemplate, List<ActionLink> action_links); ? ? ? ? ? ? ? public abstract string RegisterTemplateBundle(TemplateBundle bundle); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: GetBundleDetails ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// returns XML document definition of the bundle ? ? ? ? ? ? ? /// wrapper of Facebook method [login to view URL] ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <param name="bundleId"></param> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? public abstract TemplateBundle GetBundleDetails(string bundleId); ? ? ? ? ? ? ? public abstract void DeactivateTemplateBundleById(string bundleId); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: PublishUserAction ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// wrapper of facebook pethod publish_user_action ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <param name="templateBundleId"></param> ? ? ? ? ? ? ? /// <param name="templateData"></param> ? ? ? ? ? ? ? /// <param name="target_ids"></param> ? ? ? ? ? ? ? /// <param name="body"></param> ? ? ? ? ? ? ? /// <param name="story_size"></param> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? public abstract string PublishUserAction(string templateBundleId, Dictionary<string, string> templateData, string[] target_ids, string body, PublishedStorySize story_size); ? } ? public class SocialNetworkUser ? { ? private StringDictionary _demographics; ? private readonly string _userId; ? private readonly string _email; ? private readonly string _socialNetworkCode; ? public StringDictionary Demographics ? { ? ? get { return _demographics; } ? } ? public string UserId ? { ? ? get { return _userId; } ? } ? public string Email ? { ? ? get { return _email; } ? } ? public string SocialNetworkCode ? { ? ? get { return _socialNetworkCode; } ? } ? public SocialNetworkUser(string socialNetworkCode,string userId,string email) ? { ? ? _socialNetworkCode = socialNetworkCode; ? ? _userId = userId; ? ? _email = email; ? ? _demographics=new StringDictionary(); ? } ? public void AddDemographic(string key,string value) ? { ? ? if(![login to view URL](key)) ? ? ? [login to view URL](key,value); ? ? ? } ? public void SetDemographics(StringDictionary demogrpaphics) ? { ? ? _demographics = demogrpaphics; ? } ? } ? public class SocialNetworkGroup ? { ? private readonly string _groupId; ? private readonly string _groupName; ? private readonly string _groupDesc; ? private readonly string _groupType; ? private readonly string _groupSubType; ? #region Properties ? public string GroupId ? { ? ? get { return _groupId; } ? } ? public string GroupName ? { ? ? get { return _groupName; } ? } ? public string GroupDesc ? { ? ? get { return _groupDesc; } ? } ? public string GroupType ? { ? ? get { return _groupType; } ? } ? public string GroupSubType ? { ? ? get { return _groupSubType; } ? } ? #endregion ? public SocialNetworkGroup(string groupId,string groupName,string groupDesc,string groupType,string groupSubType) ? { ? ? _groupId = groupId; ? ? _groupName = groupName; ? ? _groupDesc = groupDesc; ? ? _groupType = groupType; ? ? _groupSubType = groupSubType; ? } ? } ? /// <summary> ? ? ? /// Contains the different parts of a Facebook feed template. ? ? ? /// </summary> ? ? ? public class FeedTemplate ? ? ? { ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// The title of the template ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? public string TemplateTitle { get; set; } ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// The body of the template. ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? public string TemplateBody { get; set; } ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// The preferred layout for the template. ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? public string PreferredLayout { get; set; } ? ? ? } ? ? ? public class TemplateBundle ? ? ? { ? ? ? ? ? ? ? public List<string> OneLineStoryTemplates { get; set; } ? ? ? ? ? ? ? public List<FeedTemplate> ShortStoryTemplates { get; set; } ? ? ? ? ? ? ? public FeedTemplate FullStoryTemplate { get; set; } ? ? ? ? ? ? ? public List<ActionLink> ActionLinks { get; set; } ? ? ? } ? ? ? public class ActionLink ? ? ? { ? ? ? ? ? ? ? public string Text { get; set; } ? ? ? ? ? ? ? public string Href { get; set; } ? ? ? } ? ? ? public enum PublishedStorySize ? ? ? { ? ? ? ? ? ? ? OneLine = 1, ? ? ? ? ? ? ? Short = 2, ? ? ? ? ? ? ? Full = 4 ? ? ? } }
ID del proyecto: 3443117

Información sobre el proyecto

4 propuestas
Proyecto remoto
Activo hace 15 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
4 freelancers están ofertando un promedio de $691 USD por este trabajo
Avatar del usuario
See private message.
$850 USD en 21 días
2,4 (7 comentarios)
6,2
6,2
Avatar del usuario
See private message.
$595 USD en 21 días
0,0 (1 comentario)
0,0
0,0
Avatar del usuario
See private message.
$765 USD en 21 días
0,0 (1 comentario)
0,0
0,0
Avatar del usuario
See private message.
$552,50 USD en 21 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED STATES
United States
5,0
68
Forma de pago verificada
Miembro desde sept 25, 2003

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.