人々は、原則として、生き物は非常に忘れっぽいです。 UWPアプリケーションに登録するときにユーザーに新しいパスワードを強制的に記憶させないために、サードパーティのプラットフォームアカウントを使用できます。 同時に、有益な情報やユーザーの特性にアクセスするために、長いアンケートに無理やり記入する必要はありません。 ソーシャルネットワークでのコンテンツの公開によりコンバージョンが増加するという事実は言及されていませんが、これは理解できます。 喫煙マニュアルなしでC#/ XAML UWPアプリケーションから世界で最も人気のあるネットワークを操作する方法を理解したい場合は、catへようこそ。
FacebookアプリケーションをUWPアプリケーションにリンクする
UWPアプリケーションをFacevook APIと連携させるには、Facebookアプリケーションを作成する必要があります。 これは、 https://developers.facebook.com/apps/ポータルから「+新しいアプリケーションを追加」ボタンをクリックして実行します。
アプリケーション名と連絡先アドレスのフィールドに入力し、カテゴリを選択してアプリケーションを分類します。
次に、facebookのログイン機能が必要です
少なくともブラウザに組み込まれた OAuthクライアント認証、OAuth Web認証、およびOAuth認証が含まれるようにスイッチを構成します
プラットフォーム設定をクリックしてプラットフォームを選択します
ウィンドウが表示されます。
Windows用のアプリケーションを選択します
これで、いくつかの設定を行うことができますが、重要ではありません。 しかし、それからあなたはfacebookアプリケーションの識別子を必要とします。
私たちが本当に記入する必要があるのは少し低いです:
Windowsストアセキュリティ識別子(SID)値は、さまざまな方法で取得できます。
より簡単な方法は、次のコードを使用することです。
WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString();
この行はms-appを返します:// SID (ms-app://削除する必要があります)
2番目の方法では、アプリケーションをストアに関連付ける必要があります。 この場合、 コントロールパネルに移動し、アプリ管理アプリケーションで[アプリID]を選択できます。 PackageSIDの値は必要なものです。
Facebook用Windows SDKを使用してFacebook APIを操作する
Microsoftのライブラリを、発音できない短縮名winsdkfbで使用します。 フルネームの発音ははるかに簡単です-Windows SDK for Facebook。 これは、UWPアプリケーションからFacebook APIを使用する最も便利な方法です。 NuGetでダウンロードしてインストールできます
C#で、名前空間をXAMLページコードに追加します
using winsdkfb;
認証コードは次のとおりです。
string[] requested_permissions = {"public_profile", "email", "user_friends"}; FBSession session = FBSession.ActiveSession; session.WinAppId = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString(); session.FBAppId = "229583744102151"; FBPermissions permissions = new FBPermissions(requested_permissions); FBResult result = await session.LoginAsync(permissions); if (result.Succeeded) { // - } else { // facebook }
最初の行は、アプリケーションがアクセスする許可を設定します。 この例では、3つの許可が記載されていますが、Facebookでは追加のユーザー確認を求めていません。
Permissions Help:Facebookでのログインの完全なリストを参照してください。
接続用に設定する必要がある2つのパラメーターは、既に説明したSIDと、作成されたFacebookアプリケーションの識別子です。
その結果、次の組み込みウィンドウが表示されます。
入る方法を知っている、あなたは出る方法を知る必要があります。 これは、同様のコードを使用して実行できます。
FBSession sess = FBSession.ActiveSession; await sess.LogoutAsync();
単純なユーザーデータは、session.Userオブジェクトから取得できます。
string username = session.User.Name; // string locale = session.User.Locale; //
役に立つものは何ですか? たとえば、ゲームの結果/記録または参加の招待状を含むメッセージを投稿する機能をアプリケーションに追加できます。
PropertySet parameters = new PropertySet(); parameters.Add("title", " MP3"); parameters.Add("link", "https://www.microsoft.com/ru-ru/store/p/-mp3/9wzdncrdkwgv"); parameters.Add("description", " - "); parameters.Add("message", " "); string path = "/" + session.User.Id + "/feed"; var factory = new FBJsonClassFactory(s => { return JsonConvert.DeserializeObject<FBReturnObject>(s); }); var singleValue = new FBSingleValue(path, parameters, factory); var fbresult = await singleValue.PostAsync(); if (fbresult.Succeeded) { var response = fbresult.Object as FBReturnObject; } else { // }
(result.Succeeded)がtrueを返す場合(つまり、認証が成功した場合)に、このスニペットが実行されます。 NewtonSoft.JSONと呼ばれる一般的なJSONパーサーを使用します。これはNuGetからインストールする必要があります。
さらに、次のクラスがプロジェクトに存在する必要があります。これは、操作の結果を特徴付けるものです。
public class FBReturnObject { public string Id { get; set; } public string Post_Id { get; set; } }
ユーザーがコメントを追加できるダイアログボックスを表示しながら、フィードにメッセージを投稿するオプションがあります。 コードは少し単純です:
PropertySet parameters = new PropertySet(); parameters.Add("title", ""); parameters.Add("link", "https://www.microsoft.com/ru-RU/store/p/take-a-test/9wzdncrdkwgx"); parameters.Add("description", " "); parameters.Add("message", " "); FBResult fbresult = await session.ShowFeedDialogAsync(parameters); if (fbresult.Succeeded) { var response = fbresult.Object as FBReturnObject; } else { // }
次の小さなスニペットを使用して、ユーザーは友人の1人にリンクを送信し、それにメッセージを追加できます。
PropertySet parameters = new PropertySet(); parameters.Add("link", "http://www.habrahabr.ru"); FBResult fbresult = await session.ShowSendDialogAsync(parameters);
winsdkfbを使用するアプリケーションの例はGitHubにありますが、C#についてはあまり明確ではない例が1つしかありません。
多かれ少なかれ通常のドキュメントはこちら
特に、既に説明したfbと対話する方法に加えて、次のオプションが考慮されます:写真/ビデオのアップロード、オブジェクトまたはリンクのような友人への招待の送信(ゲームのみ)。