Помощь в написании студенческих работ
Антистрессовый сервис

Вихідний код програмного продукту

РефератПомощь в написанииУзнать стоимостьмоей работы

String URI = String. Format («{0}stream/contents? output=json&n={2}&c={3}&s={1}», APIEndPoint, SubName, ItemCount, Continuation); String szPostData = String. Format («{0}={2}&i={1}», Starred? «a»: «r», FeedId, «user/-/state/com.google/starred»); String. Format («client=TheOldReaderWX&accountType=HOSTED_OR_GOOGLE&service=reader&Email={0}&Passwd={1}», user, pwd)); String URI = String. Format… Читать ещё >

Вихідний код програмного продукту (реферат, курсовая, диплом, контрольная)

Клас для роботи з API сервера:

using System;

using System.Collections.Generic;

using System. IO;

using System. Linq;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System. Text;

using System.Threading.Tasks;

using Windows.UI.Popups;

namespace TheOldReader_WinX.

{.

class TheOldReader.

{.

private const String APIEndPoint = «https://theoldreader.com/reader/api/0/» ;

private string _token;

public string token.

{.

get { return _token; }.

set { _token = «GoogleLogin auth=» + value; }.

}.

public async Task LogIn (string user, string pwd).

{.

var output = await Post («https://theoldreader.com/reader/ api/0/accounts/ClientLogin» ,.

String.Format («client=TheOldReaderWX&accountType=HOSTED_OR_GOOGLE&service=reader&Email={0}&Passwd={1}», user, pwd));

try.

{.

token = output. Substring (output.IndexOf («Auth=»)).Replace (" Auth=", «»);

return true;

}.

catch.

{.

return false;

}.

}.

private async Task Post (String URI, String _PostData).

{.

var client = new HttpClient ();

client.DefaultRequestHeaders.TryAddWithoutValidation («Authorization: «, token);

HttpResponseMessage wcfResponse = await client. PostAsync (new Uri (URI), new StringContent (_PostData, Encoding. UTF8, «application/x-www-form-urlencoded»));

return await wcfResponse.Content.ReadAsStringAsync ();

}.

private async Task Get (String URI).

{.

var client = new HttpClient ();

client.BaseAddress = new Uri (URI);

client.DefaultRequestHeaders.TryAddWithoutValidation («Authorization: «, token);

return await client. GetStringAsync (URI);

}.

#region Params.

public async Task getTagList ().

{.

String API = «tag/list?output=json» ;

String URI = APIEndPoint + API;

return await Get (URI);

}.

public async Task getSubscriptionList ().

{.

String API = «subscription/list?output=json» ;

String URI = APIEndPoint + API;

return await Get (URI);

}.

public async Task getUnreadCount ().

{.

String API = «unread-count?output=json» ;

String URI = APIEndPoint + API;

return await Get (URI);

}.

public async Task getUserInfo ().

{.

String API = «user-info?output=json» ;

String URI = APIEndPoint + API;

return await Get (URI);

}.

public async Task getMoreItemsForSubscription (String SubName, int ItemCount, String Continuation).

{.

String URI = String. Format («{0}stream/contents? output=json&n={2}&c={3}&s={1}», APIEndPoint, SubName, ItemCount, Continuation);

return await Get (URI);

}.

public async Task getItemsForSubscription (String SubName, int ItemCount).

{.

String URI = String. Format («{0}stream/contents?output=json&n ={2}&s={1}», APIEndPoint, SubName, ItemCount);

return await Get (URI);

}.

public async Task getUnreadItemsForSubscription (String SubName, int ItemCount).

{.

String URI = String. Format («{0}stream/contents?output=json&xt=user/-/state/com.google/read&n={2}&s={1}», APIEndPoint, SubName, ItemCount);

return await Get (URI);

}.

//Получить все непрочитанные записи.

public async Task getAllUnreadItems (int ItemCount).

{.

String URI = String. Format («{0}stream/contents?output=json&xt=user/-/state/com.google/read&n={2}&s={1}», APIEndPoint, «user/-/state/com.google/reading-list», ItemCount);

return await Get (URI);

}.

//Получить все избранные записи.

public async Task getStarredItems ().

{.

String URI = String. Format («{0}stream/contents?output=json&xt=user/-/state/com.google/read&n={2}&s={1}», APIEndPoint, «user/-/state/com.google/starred», 1000);

return await Get (URI);

}.

//Получить все понравившиеся записи.

public async Task getLikedItems ().

{.

String URI = String. Format («{0}stream/contents?output=json&xt=user/-/state/com.google/read&n={2}&s={1}», APIEndPoint, «user/-/state/com.google/like», 1000);

return await Get (URI);

}.

//Отметить запись прочитанной.

public async Task markFeedItemRead (string ItemId, bool bRead).

{.

String PostData = String. Format («{0}=user/-/state/com.google/read&i={1}», bRead? «a»: «r», ItemId);

return await Post (APIEndPoint + «edit-tag», PostData);

}.

//Отметить все прочитанными.

public async Task markAllItemsAsRead (string FeedId).

{.

String PostData = String. Format («s={0}», FeedId);

return await Post (APIEndPoint + «mark-all-as-read», PostData);

}.

//Отметить несколько записей прочитанными.

public async Task markFeedItemsRead (List ItemIds, bool Read).

{.

return await changeTagOfItems («user/-/state/com.google/read», ItemIds, Read);

}.

//Отметить звездочкой.

public async Task starItem (string FeedId, bool Starred).

{.

String szPostData = String. Format («{0}={2}&i={1}», Starred? «a»: «r», FeedId, «user/-/state/com.google/starred»);

return await Post (APIEndPoint + «edit-tag», szPostData);

}.

//Отметить звездочкой несколько записей.

public async Task starItems (List FeedIds, bool Starred).

{.

return await changeTagOfItems («user/-/state/com.google/starred», FeedIds, Starred);

}.

//Изменить тег нескольких записей.

private async Task changeTagOfItems (string TagName, List FeedIds, bool Add).

{.

if (FeedIds≠ null && FeedIds. Count > 0).

{.

StringBuilder sb = new StringBuilder ();

sb.AppendFormat («{0}={1}», Add? «a»: «r», TagName);

foreach (String curItemId in FeedIds).

sb.AppendFormat («&i={0}», curItemId);

String PostData = sb. ToString ();

return await Post (APIEndPoint + «edit-tag», PostData);

}.

return «» ;

}.

//Переметить подписку в папку.

public async Task moveSubscriptionToFolder (string feedId, string folderId).

{.

String PostData = «» ;

if (!String.IsNullOrEmpty (folderId) && folderId≠ «user/-/state/com.google/reading-list»).

PostData = String. Format («ac=edit&s={0}&a={1}», feedId, folderId);

else.

PostData = String. Format («ac=edit&s={0}&r={1}», feedId, folderId);

return await Post (APIEndPoint + «subscription/edit», PostData);

}.

//Подписаться.

public async Task addSubscription (string FeedUrl).

{.

String PostData = «» ;

return await Post (APIEndPoint + «subscription/quickadd?quickadd=» + FeedUrl, PostData);

}.

//Отписаться.

public async Task unsubscribe (string feedId).

{.

String PostData = String. Format («ac=unsubscribe&s={0}», feedId);

return await Post (APIEndPoint + «subscription/edit», PostData);

}.

#endregion.

}.

}.

Отже даний додаток використовує найновіші функції UWP, його можна завантажити з магазина на ПК, телефон чи телевізор з Windows 10 і він буде виглядати та працювати на цих пристроях саме так як очікує того користувач.

Показать весь текст
Заполнить форму текущей работой