protected override async void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_main); Cheeseknife.Bind(this); _uploadPost.Click += UploadPostClick; var posts = new List <Post> { new Post { Url = "https://static.eos.io/images/Landing/SectionResourceLanding/DevPortLaunch_Social_Eosio-home_opt.jpg", AccauntName = "" } }; _adapter = new PostAdapter(this, posts); _postList.SetAdapter(_adapter); _postList.SetLayoutManager(new LinearLayoutManager(Android.App.Application.Context)); _httpManager = new HttpManager(); _instagramToTvimAdapter = new InstagramToTvimAdapter(); var assetsHelper = new AssetsHelper(Assets); _debugAsset = assetsHelper.TryReadAsset <DebugAsset>("DebugAsset.txt"); }
public async Task <OperationResult <MediaModel> > GetLastPost(HttpManager client, DebugAsset debugAsset, CancellationToken token) { //https://www.instagram.com/developer/authentication/ < how to get access_token (OAuth skiped. hardcoded key used instead... time time..)v var fullUrl = GetRecentMediaUrl + debugAsset.InsagramAccessToken; if (!string.IsNullOrEmpty(debugAsset.LastLoadedMediaId)) { fullUrl += "&MIN_ID=" + debugAsset.LastLoadedMediaId; } var responce = await client.GetRequest <InstagramResult>(fullUrl, token); if (responce.IsError) { throw new NotImplementedException(responce.Error.Msg); } var media = responce.Result.data.FirstOrDefault(); if (debugAsset.LastLoadedMediaId != null && debugAsset.LastLoadedMediaId.Equals(media.id)) { return(null); } debugAsset.LastLoadedMediaId = media.id; //save image to IPFS var model = new UploadMediaModel { VerifyTransaction = debugAsset.AuthorizationTransactionJson, Url = media.images.standard_resolution.url }; return(await client.UploadMedia("https://steepshot.org/api/v1_1/media/upload", model, token)); }