Tag Archives: Windows 8

Windows 8 für Konzerne: Aktivierung

Es ist nicht so ganz einfach, in einem Großkonzern gleich als einer der Ersten mit einer neuen Software zu arbeiten. Schon gar nicht, wenn es sich dabei um ein Betriebssystem handelt. Doch in meiner Rolle als Developer Evangelist bin ich daran schon von Natur aus interessiert, hier als “Early Adopter” Erfahrungen zu sammeln. Außerdem habe ich auch ein paar Projekte zu betreuen, wo ich gar nicht umhin komme, Windows 8 schon jetzt zu nutzen. Dass das nicht so völlig ohne Widerstände klappt, war wohl zu erwarten! Doch damit es anderen vielleicht leichter fällt hier als lose Reihe von Blogposts meiner Erfahrungswerte und Tipps.

Die erste positive Erfahrung: Installation und Nutzung eines nackten Windows 8 war schnell erledigt (natürlich nur, sofern man die entsprechenden administrativen Installationsreche hat). Doch warum auch immer: Windows 8 Enterprise aktivierte sich nicht selbstständig und alle weiteren Versuche blieben erfolglos. Glücklicherweise war in meinem Fall der Workaround einfach. Über Wahlweise die Windows Style App Oberfläche (aka Metro) oder Windows-Taste + R erreicht man das Startmenü bzw. den Ausführen-Dialog. Dort einfach “slui 3” eintippen und bestätigen, um dieses Tool zu starten. Anschließend erscheint ein Aktivierungs-Dialog, indem man die Seriennummer noch einmal eintragen kann, um Windows 8 Enterprise erfolgreich zu aktivieren.

Send SMS mit Windows 8 (C#)

Der Versandt von SMS ist durchaus ein adäquates Mittel, um auf wichtige Ereignisse hinzuweisen. Sei es, dass die eigene Highscore übertroffen wurde, der Akku des Rasenmäherroboters kurz vor der Grillparty zur Neige geht oder einfach nur so, um seinen Liebsten eine nette Nachricht zu senden. Glücklicherweise bietet der Developer Garten hier Hilfe: Dort findet sich die Beschreibung einer umfangreichen Schnittstelle (API).

Doch bevor es losgeht, ein klein wenig Vorbereitung: Zuerst einmal ist eine Registrierung unter http://www.developercenter.telekom.com/ notwendig. Anschließend kann dort die Send SMS API im Bereich Telekom API´s freigeschaltet werden (aktuell sind 10 SMS am Tag für Developer kostenlos).

Vor der Nutzung der API steht jedoch die Autorisation. Es gibt verschiedene Wege, um das zu bewerkstelligen. Ähnlich zu OAuth verhält sich hier TAuth (T wie Telekom). Es werden nur Benutzername und Passwort wie bei der Registrierung gewählt benötigt. Im C# Code für Windows 8 (Metro) sieht das dann so aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
///
<summary>/// Url of STS service. Can be overwritten if needed.
/// </summary>
 
private static string UPAuthUrl = "https://sts.idm.telekom.com/rest-v1/tokens/odg";
 
private string username = "username";
private string password = "password";
 
///
<summary>/// Generated by STS service.
/// </summary>
 
private string token;
 
private async void authenticate()
{
 
HttpClientHandler handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential(username, password);
 
HttpClient client = new HttpClient(handler);
 
try
{
HttpResponseMessage response = await client.GetAsync(UPAuthUrl);
// Force an exception if the web server returned an HTTP error status code
response.EnsureSuccessStatusCode();
 
String content = await response.Content.ReadAsStringAsync();
JsonObject json = JsonObject.Parse(content);
token = json.GetNamedValue("token").GetString();
 
// proceed to api call
sendSMS();
}
catch (HttpRequestException hre)
{
Debug.WriteLine(hre.ToString());
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
 
}

Die Nutzung der API gestaltet sich nun ähnlich wie der Post-Versandt aus HTML-Formularen. Zusätzlich muss das bei der Autorisation generierte Token in den Header des HTTP-Requests injiziert werden. Hier der passende Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
///
<summary>/// Realm for authorization.
/// {0} is replaced by authorization token
/// </summary>
 
private static string Realm = "realm=\"https://odg.t-online.de\",tauth_token=\"{0}\"";
 
///
<summary>/// URL Path to Send SMS services. Can be overridden if necessary.
/// {0} is replaced by selected environment (sandbox or production)
/// </summary>
 
private static string ServicePath = "plone/odg-sms/rest/{0}/sms";
 
///
<summary>/// Address of Telekom API server.
/// </summary>
 
private static string TelekomBaseUrl = "https://gateway.developer.telekom.com/";
 
private async void sendSMS()
{
 
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("TAuth", String.Format(Realm, token));
 
Uri baseUri = new Uri(TelekomBaseUrl, UriKind.Absolute);
Uri relativeUri = new Uri(String.Format(ServicePath, "production"), UriKind.Relative);
Uri uri = new Uri(baseUri, relativeUri);
 
MultipartFormDataContent form = new MultipartFormDataContent();
form.Add(new StringContent("+4933123456"), "number");
form.Add(new StringContent("Foo"), "message");
// Optional (see http://www.developergarden.com/fileadmin/microsites/ApiProject/Dokumente/Dokumentation/Api_Doc_4_0/telekom-api-rest-4.0/html/sendsms_send_s_m_s.html)
form.Add(new StringContent("Sascha"), "originator");
 
try
{
HttpResponseMessage response = await client.PostAsync(uri, form);
// Force an exception if the web server returned an HTTP error status code
response.EnsureSuccessStatusCode();
}
catch (HttpRequestException hre)
{
Debug.WriteLine(hre.ToString());
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
 
}

Wer es sich ein wenig einfacher machen möchte, der findet im Developer Garden SDKs für verschiedene Technologien wie .NET, Java, Objective C und PHP (http://www.developergarden.com/apis/apis-sdks/sdks/). Dort gibt es auch ein Forum für Ideen und Fragen. Viel Spaß…

Windows 8 Trainingsunterlagen

Nachdem bereits schon einige Trainings zum Thema Windows 8 gelaufen sind, stehen nun die offiziellen Trainingsunterlagen namens “Windows 8 Camp in Box” zum Download bereit. Dazu zählen die Beispiele sowohl in HTML5/JavaScript als auch in XAML/C#. In dem Download-Paket finden sich auch die offiziellen Folien als PDF.

Außerdem sind die Videos zum Thema bei Channel 9 sehenswert. Insbesondere das Video von Jensen Harris zum Thema “8 Traits of Great Metro Style Apps”. Dort gibt es auch einen umfangreichen Foliensatz als Powerpoint. Dasselbe gilt für Sam Moreau´s “Metro style: principles and personality”.

Und hier findet sich noch mein angepasster Teil inkl. Beispiele zum Thema JavaScript (für die Windows 8 Release Preview). Weitere Beispiele zu allen erdenklichen Themen gibt es als “Sample app pack Release Preview”. Sollte ich sonst noch was vergessen haben, dann bitte einfach eine E-Mail direkt an mich und ich ergänze das dann hier.