Exemplo n.º 1
0
		public void Setup ()
		{
			var key = "3MVG9A2kN3Bn17hueOTBLV6amupuqyVHycNQ43Q4pIHuDhYcP0gUA0zxwtLPCcnDlOKy0gopxQ4dA6BcNWLab";

			var redirectUrl = new Uri("com.sample.salesforce:/oauth2Callback"); // TODO: Move oauth redirect to constant or config
			var secret = "5754078534436456018";

			Client = new SalesforceClient (key, secret, redirectUrl);


			var users = Client.LoadUsers ();
			ISalesforceUser user;

			if (users.SingleOrDefault() == null)
			{
				user = new SalesforceUser {
					Username = "******",					
				};
				user.Properties ["instance_url"] = @"https://na15.salesforce.com/";
				user.Properties ["access_token"] = @"00Di0000000bhOg!ARYAQLWetbW6H_Lw78K0SlJ3IU7bBCeOMEhtlP8hTvaWALsYNuxfkikbC5tbAfgdNvxjSkZJ6wHVr8A5qIKM7.KeBmGnoIlg";

				Client.Save (user);
			}
			else
			{
				user = users.FirstOrDefault ();
			}

			Client.CurrentUser = user;
		}
Exemplo n.º 2
0
		readonly Uri redirectUrl = new Uri ("com.sample.salesforce:/oauth2Callback"); // Replace with your custom callback.

		protected override void OnCreate (Bundle bundle)
		{
			base.OnCreate (bundle);

			Client = new SalesforceClient (Key, Secret, redirectUrl);
			Client.AuthenticationComplete += (sender, e) => OnAuthenticationCompleted (e);

			var users = Client.LoadUsers ();

			if (!users.Any()) {
				var intent = Client.GetLoginInterface () as Intent;
				StartActivityForResult (intent, 42);
			} else {
				LoadAccounts ();
			}

			ListView.ItemClick += (sender,e) => {
				var t = ((DataAdapter)ListAdapter)[e.Position];

				System.Diagnostics.Debug.WriteLine("Clicked on " + t.ToString());

				var intent = new Intent();
				intent.SetClass(this, typeof(DetailActivity));
				intent.PutExtra("JsonItem", "{\"attributes\": {\"type\": \"Account\", \"url\": \"/services/data/v28.0/sobjects/Account/\"}, " + 
					string.Format ("\"Id\": \"{0}\", \"Name\": \"{1}\", \"AccountNumber\": \"{2}\", \"Phone\": \"{3}\", \"Website\": \"{4}\", \"Industry\": \"{5}\"", t.Id, t.Name, t.AccountNumber, t.Phone, t.Website, t.Industry) + "}");

				StartActivity(intent);
			};
		}
Exemplo n.º 3
0
        public async void Setup ()
		{
            var key = "3MVG9A2kN3Bn17hueOTBLV6amupuqyVHycNQ43Q4pIHuDhYcP0gUA0zxwtLPCcnDlOKy0gopxQ4dA6BcNWLab";

            var redirectUrl = new Uri("com.sample.salesforce:/oauth2Callback");
            var secret = "5754078534436456018";

			Client = new SalesforceClient (key, secret, redirectUrl);

            // Use username/password flow for the demo.
            // This ensures we always have a valid
            // access_token for about 6 hours after this
            // method returns.
            var tokenClient = new HttpClient();
            var formData = new Dictionary<string,string> {
                {"grant_type", "password"},
                {"client_id", "3MVG9A2kN3Bn17hueOTBLV6amupuqyVHycNQ43Q4pIHuDhYcP0gUA0zxwtLPCcnDlOKy0gopxQ4dA6BcNWLab"},
                {"client_secret", "5754078534436456018"},
                {"username", "*****@*****.**"},
                {"password", "white1@needyrVpFxD3PAvjdH8svH7wLXTN98"},
            };
            var content = new FormUrlEncodedContent(formData);
            var responseTask = await tokenClient.PostAsync("https://login.salesforce.com/services/oauth2/token", content);
//            responseTask.RunSynchronously(TaskScheduler.Default);
//            responseTask.Wait();
            responseTask.EnsureSuccessStatusCode();
            var responseReadTask = await responseTask.Content.ReadAsStringAsync();
//            var rawResult = await response.Content.ReadAsStringAsync();
//            responseReadTask.RunSynchronously();
//            responseReadTask.Wait();
//            var result = JsonValue.Parse(rawResult);
            var result = JsonValue.Parse(responseReadTask);
            var users = Client.LoadUsers ();
			ISalesforceUser user;

            if (users.FirstOrDefault() == null)
			{
				user = new SalesforceUser {
					Username = "******",					
				};
				user.Properties ["instance_url"] = @"https://na15.salesforce.com";
                user.Properties ["refresh_token"] = @"5Aep861z80Xevi74eVVu3JCJRUeNrRZAcxky4UcHL1MvM2ALL3Wj_phoRIBXVC2ZcbP_BblUk39RfBF6cwu.lx3";
                user.Properties ["access_token"] = result["access_token"]; //@"00Di0000000bhOg!ARYAQN2uT2p0I.g1t03eAfogW8ZostVE61ZTMkkrOb1eiWADj9vEABhGUqqO05PQNdUA4pq60a3JTPTwyN6Z7blXpZXJbyHX";
                user.Properties ["requires_reauthentication"] = "false";
				Client.Save (user);
			}
			else
			{
				user = users.FirstOrDefault ();
			}

    			Client.CurrentUser = user;
		}
		void InitializeSalesforce ()
		{
			const string consumerKey = "YOUR_CONSUMER_KEY";
			const string consumerSecret = "YOUR_CONSUMER_SECRET";
			var callbackUrl = new Uri (@"com.sample.salesforce:/oauth2Callback");

			// Creates our connection to salesforce.
			Client = new SalesforceClient (consumerKey, consumerSecret, callbackUrl);
			Client.AuthenticationComplete += (sender, e) => OnAuthenticationCompleted (e);

			// Get authenticated users from the local keystore
			var users = Client.LoadUsers ();
			if (!users.Any ()) {
				// Begin OAuth journey
				StartAuthorization (); 
			} else {
				// Immediately go to accounts screen
				LoadAccounts (); 
			}
		}