Xamarin.Social コンポーネントを使用して Facebook に投稿しています。エラーは発生していませんが、何も投稿されていません。以下のようにFacebookにログインしています。
これはCustomRenderer
ログインページに書かれています
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
var activity = this.Context as Activity;
var auth = new OAuth2Authenticator (
clientId: "XXXXXXXXXXXXX",
scope: "email + public_profile + publish_actions",
authorizeUrl: new Uri ("https://m.facebook.com/dialog/oauth/"),
redirectUrl: new Uri ("http://www.XXXXXXX.sv/"));
auth.Completed += (sender, eventArgs) =>
{
if (eventArgs.IsAuthenticated)
{
//UserInfo is a static class which will hold the account object.
UserInfo.oFaceBookAccount = eventArgs.Account;
App.SuccessfulLoginAction.Invoke();
string _token = eventArgs.Account.Properties["access_token"];
App.SaveToken(_token);
}
else
{
// The user cancelled
}
};
activity.StartActivity(auth.GetUI(activity));
}
ログインに成功すると、システムはユーザーをランディング画面に誘導します。ユーザーがボタンをクリックすると、Facebook に特定の情報 (リンク) が投稿されます。
これは、Facebook に情報を投稿するために使用したコードです。
MagingCenter.Subscribe<ProfilePage, Messanger> (this, "onFaceBookShare", async (sender, args) =>
{
try
{
var Facebook = new FacebookService ();
Facebook.ClientId = "XXXXXXXX"; //it is same as i used while login
Facebook.RedirectUrl = new Uri ("http://www.XXXXXX.com/");
var item = new Xamarin.Social.Item (){ Text = "Test Msg." };
item.Links.Add (new Uri ("http://www.t.sv/"));
var account = UserInfo.oFaceBookAccount;
Facebook.ShareItemAsync (item, account);
} catch (Exception ex)
{
Console.WriteLine (ex.Message);
}
});
既存のコードの問題点を教えてください。
ありがとう。