1

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);
    }
});

既存のコードの問題点を教えてください。

ありがとう。

4

0 に答える 0