Find Jobs
Hire Freelancers

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

$500-1000 USD

Cancelado
Publicado há mais de 15 anos

$500-1000 USD

Pago na 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 do Projeto: 3443117

Sobre o projeto

4 propostas
Projeto remoto
Ativo há 15 anos

Quer ganhar algum dinheiro?

Benefícios de ofertar no Freelancer

Defina seu orçamento e seu prazo
Seja pago pelo seu trabalho
Descreva sua proposta
É grátis para se inscrever e fazer ofertas em trabalhos
4 freelancers estão ofertando em média $691 USD for esse trabalho
Avatar do Usuário
See private message.
$850 USD em 21 dias
2,4 (7 avaliações)
6,2
6,2
Avatar do Usuário
See private message.
$595 USD em 21 dias
0,0 (1 avaliação)
0,0
0,0
Avatar do Usuário
See private message.
$765 USD em 21 dias
0,0 (1 avaliação)
0,0
0,0
Avatar do Usuário
See private message.
$552,50 USD em 21 dias
0,0 (0 avaliações)
0,0
0,0

Sobre o cliente

Bandeira do(a) UNITED STATES
United States
5,0
68
Método de pagamento verificado
Membro desde set. 25, 2003

Verificação do Cliente

Obrigado! Te enviamos um link por e-mail para que você possa reivindicar seu crédito gratuito.
Algo deu errado ao enviar seu e-mail. Por favor, tente novamente.
Usuários Registrados Total de Trabalhos 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)
Carregando pré-visualização
Permissão concedida para Geolocalização.
Sua sessão expirou e você foi desconectado. Por favor, faça login novamente.