'via Blog this'
Разбираюсь по полной с FireBase. Стоит задача передать данные с 1С, для дальнейшей синхронизации. Первая проблема с которой столкнулся это не возможность через REST API загружать картинки. Нашел решение через c# и google cloud. Теперь возникла проблема в работе c# и самого firebase, так как гугл пока не сделал клиента, пробую работу альтернативных, один из них FireBaseSharp вроде оказался не плохим, но на 25 000 получил переполнение памяти....
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using GoogleCloudSamples; using System.Net; using Newtonsoft.Json; using FirebaseSharp; using FirebaseSharp.Portable; using Newtonsoft.Json.Linq; using FirebaseSharp.Portable.Interfaces; namespace ConsoleApplication1 { class Program { static void temp(FirebaseError error) { } static void Main(string[] args) { var projectId = "*********"; var bucketName = "******.appspot.com"; using(WebClient webClient = new WebClient()) { webClient.UseDefaultCredentials = true; webClient.Credentials = new NetworkCredential("*****", "*****", "domen"); webClient.Encoding = Encoding.UTF8; //webClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); //var jsonGroup = webClient.DownloadString(@"http://localhost/GlobalBase/hs/exchange/AllItemsGroups"); var jsonItems = webClient.DownloadString(@ "http://localhost/GlobalBase/hs/exchange/AllItems"); JObject jobject = JObject.Parse(jsonItems); // var firebaseConfig = new FirebaseConfig("**********"); FirebaseApp app = new FirebaseApp(new Uri(@ "https://*****.firebaseio.com/"), "********"); //var ch = app.Child("Products"); //ch.Update(jsonGroup); var items = app.Child("Products").Child("Items"); //FirebaseStatusCallback callback = new FirebaseStatusCallback(); //int x = 0; items.On("child_changed", (IDataSnapshot snap, string previousChild, object contex) => { Console.WriteLine("update:" + snap.Key); }); items.On("child_added", (IDataSnapshot snap, string previousChild, object contex) => { Console.WriteLine("added:" + snap.Key); }); FirebaseStatusCallback callback = new FirebaseStatusCallback(temp); foreach(var item in jobject.Values()) { int i; //Console.WriteLine("{0}", ); var newChild = items.Child(item.Path); newChild.Update(item.ToString()); } //var items = app.Child("Products").Child("Items"); //items.Update.Update(jsonItems); } //var json = new WebClient().DownloadString(@"http://srv-iis.rl.int/GlobalBase/hs/exchange/AllItemsGroups"); //new StorageSample().ListBuckets(projectId); //new StorageSample().UploadStream(bucketName); //new StorageSample().ListObjects(bucketName); Console.WriteLine("Press enter key!"); Console.ReadLine(); } } }
No comments:
Post a Comment