Find Jobs
Hire Freelancers

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

$500-1000 USD

キャンセル
投稿日: 15年以上前

$500-1000 USD

完了時にお支払い
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: 3443117

プロジェクトについて

4個の提案
リモートプロジェクト
アクティブ 15年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です
この仕事に4人のフリーランサーが、平均$691 USDで入札しています
ユーザーアバター
See private message.
$850 USD 21日以内
2.4 (7 レビュー)
6.2
6.2
ユーザーアバター
See private message.
$595 USD 21日以内
0.0 (1 レビュー)
0.0
0.0
ユーザーアバター
See private message.
$765 USD 21日以内
0.0 (1 レビュー)
0.0
0.0
ユーザーアバター
See private message.
$552.50 USD 21日以内
0.0 (0 レビュー)
0.0
0.0

クライアントについて

UNITED STATESのフラグ
United States
5.0
68
お支払い方法確認済み
メンバー登録日:9月 25, 2003

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。