private async Task Authorize() { dynamic keys = await GetAppCredentials("Facebook"); string clientId = keys.client_id; IDeviceOAuth2Stepwise auth = new DeviceOAuth(EndPointInfo.Facebook, "public_profile", clientId); var info = await auth.StartAuthorization(); var msg = $"Navigate to {info.VerificationUri} \nEnter this code: {info.UserCode}"; Notify.Text = msg; var token = await auth.WaitForUserConsent(info); var defaults = new DynamicRestClientDefaults() { AuthScheme = "Bearer", AuthToken = token.AccessToken }; dynamic client = new DynamicRestClient("https://graph.facebook.com/v2.3/me", defaults); dynamic v = await client.get(fields : "name"); Notify.Text = ""; UserName.Text = v.name; }
public async Task MultiPartUploadObject() { var auth = new GoogleOAuth2("email profile https://www.googleapis.com/auth/devstorage.read_write"); _token = await auth.Authenticate(_token); Assert.IsNotNull(_token, "auth failed"); var defaults = new DynamicRestClientDefaults() { AuthScheme = "OAuth", AuthToken = _token }; dynamic google = new DynamicRestClient("https://www.googleapis.com/", defaults); using (var stream = new StreamInfo(File.OpenRead(@"D:\temp\test2.png"), "image/png")) { dynamic metaData = new ExpandoObject(); metaData.name = "test2"; dynamic result = await google.upload.storage.v1.b.unit_tests.o.post(metaData, stream, uploadType : new PostUrlParam("multipart")); Assert.IsNotNull(result); } }
private static async Task EnumerateObjects(string project) { var auth = new GoogleOAuth2("https://www.googleapis.com/auth/devstorage.read_write"); var token = await auth.Authenticate(""); var defaults = new DynamicRestClientDefaults() { AuthScheme = "OAuth", AuthToken = token }; dynamic google = new DynamicRestClient("https://www.googleapis.com/", defaults); dynamic bucketEndPoint = google.storage.v1.b; dynamic buckets = await bucketEndPoint.get(project : project); foreach (var bucket in buckets.items) { Console.WriteLine("bucket {0}: {1}", bucket.id, bucket.name); dynamic contents = await bucketEndPoint(bucket.id).o.get(); foreach (var item in contents.items) { Console.WriteLine("\tid: {0}", item.id); Console.WriteLine("\tname: {0}", item.name); Console.WriteLine("\tcontent type: {0}", item.contentType); Console.WriteLine("\t-----"); } } }
private void DefineRESTDefaults() { restClientDefaults = new DynamicRestClientDefaults(); restClientDefaults.DefaultHeaders.Add(PlexHeaders.X_PLEX_PLATFORM, "Windows"); restClientDefaults.DefaultHeaders.Add(PlexHeaders.X_PLEX_PLATFORM_VERSION, System.Environment.Version.ToString()); restClientDefaults.DefaultHeaders.Add(PlexHeaders.X_PLEX_PROVIDES, "player"); restClientDefaults.DefaultHeaders.Add(PlexHeaders.X_PLEX_CLIENT_IDENTIFIER, "38fc8a22-6fc5-46f2-8c6b-818e2758cfa2"); restClientDefaults.DefaultHeaders.Add(PlexHeaders.X_PLEX_PRODUCT, "Plex2Sonos"); restClientDefaults.DefaultHeaders.Add(PlexHeaders.X_PLEX_VERSION, "0.0.0.1"); restClientDefaults.DefaultHeaders.Add(PlexHeaders.X_PLEX_DEVICE, System.Environment.MachineName); restClientDefaults.DefaultHeaders.Add("Accept", "application/json"); }
public async Task UserSuppliedAcceptHeaderOverridesDefaultAcceptHeaders() { var defaults = new DynamicRestClientDefaults(); defaults.DefaultHeaders.Add("AccEpt", "application/json"); using (dynamic google = new DynamicRestClient("https://www.googleapis.com/", MockInitialization.Handler, false, defaults)) using (HttpResponseMessage response = await google.storage.v1.b("uspto-pair").get(typeof(HttpResponseMessage))) { response.EnsureSuccessStatusCode(); Assert.IsNotNull(response.RequestMessage.Headers.Accept); Assert.AreEqual(1, response.RequestMessage.Headers.Accept.Count); Assert.AreEqual("application/json", response.RequestMessage.Headers.Accept.First().MediaType); } }
public async Task DefaultAuthHeader() { var defaults = new DynamicRestClientDefaults(); string key = CredentialStore.RetrieveObject("sunlight.key.json").Key; defaults.DefaultHeaders.Add("X-APIKEY", key); using (dynamic client = new DynamicRestClient("http://openstates.org/api/v1/", defaults)) { var result = await client.bills.mn("2013s1")("SF 1").get(); Assert.IsNotNull(result); Assert.IsTrue(result.id == "MNB00017167"); } }
public async Task UploadPhoto() { var key = CredentialStore.RetrieveObject("flickr.key.json"); var defaults = new DynamicRestClientDefaults(); defaults.DefaultParameters.Add("format", "json"); defaults.DefaultParameters.Add("api_key", key.Key); defaults.DefaultParameters.Add("nojsoncallback", "1"); using (dynamic client = new DynamicRestClient("https://up.flickr.com/services/", MockInitialization.Handler, false, defaults)) { dynamic result = await client.upload.post(photo: File.OpenRead(@"D:\temp\test.png")); Assert.IsNotNull(result); } }
public async Task FindUserByName() { var key = CredentialStore.RetrieveObject("flickr.key.json"); var defaults = new DynamicRestClientDefaults(); defaults.DefaultParameters.Add("format", "json"); defaults.DefaultParameters.Add("api_key", key.Key); defaults.DefaultParameters.Add("nojsoncallback", "1"); using (dynamic client = new DynamicRestClient("https://api.flickr.com/services/rest/", MockInitialization.Handler, false, defaults)) { dynamic result = await client.get(method: "flickr.people.findByUsername", username: "******"); Assert.IsNotNull(result); Assert.AreEqual("9039518@N03", result.user.id); } }
public async Task UploadPhoto() { var key = CredentialStore.RetrieveObject("flickr.key.json"); var defaults = new DynamicRestClientDefaults(); defaults.DefaultParameters.Add("format", "json"); defaults.DefaultParameters.Add("api_key", key.Key); defaults.DefaultParameters.Add("nojsoncallback", "1"); dynamic client = new DynamicRestClient("https://up.flickr.com/services/", defaults); dynamic result = await client.upload.post(photo : File.OpenRead(@"D:\temp\test.png")); Assert.IsNotNull(result); }
public async Task FindUserByName() { var key = CredentialStore.RetrieveObject("flickr.key.json"); var defaults = new DynamicRestClientDefaults(); defaults.DefaultParameters.Add("format", "json"); defaults.DefaultParameters.Add("api_key", key.Key); defaults.DefaultParameters.Add("nojsoncallback", "1"); dynamic client = new DynamicRestClient("https://api.flickr.com/services/rest/", defaults); dynamic result = await client.get(method : "flickr.people.findByUsername", username : "******"); Assert.IsNotNull(result); Assert.AreEqual("9039518@N03", (string)result.user.id); }
/// <summary> /// Returns the user's endpoint profile using <see cref="EndPointInfo.ProfileUri"/>. /// </summary> /// <param name="token">The auth token</param> /// <param name="cancelToken">A cancellation token</param> /// <returns>User's profile</returns> /// <exception cref="DynamicRestClientResponseException">When there is an http failure</exception> public async Task <dynamic> GetProfile(TokenInfo token, CancellationToken cancelToken) { if (token == null) { throw new ArgumentNullException("token"); } var defaults = new DynamicRestClientDefaults() { AuthScheme = EndPoint.Scheme, AuthToken = token.AccessToken }; using (dynamic profileEndpoint = new DynamicRestClient(_endPoint.ProfileUri, defaults)) { return(await profileEndpoint.get(cancelToken)); } }
[Ignore] // drive scopes don't work with device pin based oauth2 - ignore for now public async Task UploadFile() { var auth = new GoogleOAuth2("email profile https://www.googleapis.com/auth/devstorage.read_write"); _token = await auth.Authenticate(_token); Assert.IsNotNull(_token, "auth failed"); var defaults = new DynamicRestClientDefaults() { AuthScheme = "OAuth", AuthToken = _token }; dynamic google = new DynamicRestClient("https://www.googleapis.com/", defaults); dynamic result = await google.upload.drive.v2.files.post(File.OpenRead(@"D:\temp\test.png"), uploadType : "media", title : "unit_test.jpg"); Assert.IsNotNull(result); }
public async Task UploadString() { var auth = new GoogleOAuth2("email profile https://www.googleapis.com/auth/devstorage.read_write"); _token = await auth.Authenticate(_token); Assert.IsNotNull(_token, "auth failed"); var defaults = new DynamicRestClientDefaults() { AuthScheme = "OAuth", AuthToken = _token }; dynamic google = new DynamicRestClient("https://www.googleapis.com/", defaults); dynamic result = await google.upload.storage.v1.b.unit_tests.o.post("text", name : new PostUrlParam("string_object"), uploadType : new PostUrlParam("media")); Assert.IsNotNull(result); }
public async Task UploadInt() { var auth = MockInitialization.GetAuthClient("email profile https://www.googleapis.com/auth/devstorage.read_write"); _token = await auth.Authenticate(_token); Assert.IsNotNull(_token, "auth failed"); var defaults = new DynamicRestClientDefaults() { AuthScheme = "OAuth", AuthToken = _token }; using (dynamic google = new DynamicRestClient("https://www.googleapis.com/", defaults)) { dynamic result = await google.upload.storage.v1.b.unit_tests.o.post(42, name : new PostUrlParam("int_object"), uploadType : new PostUrlParam("media")); Assert.IsNotNull(result); } }
public async Task UploadObject() { var auth = MockInitialization.GetAuthClient("email profile https://www.googleapis.com/auth/devstorage.read_write"); _token = await auth.Authenticate(_token); Assert.IsNotNull(_token, "auth failed"); var defaults = new DynamicRestClientDefaults() { AuthScheme = "OAuth", AuthToken = _token }; using (dynamic google = new DynamicRestClient("https://www.googleapis.com/", MockInitialization.Handler, false, defaults)) using (var stream = new StreamInfo(File.OpenRead(@"D:\temp\test.png"), "image/png")) { dynamic result = await google.upload.storage.v1.b.unit_tests.o.post(stream, name : new PostUrlParam("test_object"), uploadType : new PostUrlParam("media")); Assert.IsNotNull(result); } }