【问题标题】:How to share on linkedin and twitter using social auth library如何使用社交认证库在linkedin和twitter上分享
【发布时间】:2014-05-09 22:33:56
【问题描述】:

我正在开发一个应用程序,它能够使用 socialauth 库在linkedin、facebook 和 twitter 上共享内容。它适用于 facebook,但无法与 twitter 和linkedin 共享。我收到“不支持提供程序”的警告 以下是我正在使用的代码

socialauthadapter.authorize(this, Provider.TWITTER);
......
private final class ResponseListener implements DialogListener {
    public void onComplete(Bundle values) {

        try {
            socialauthadapter
                    .updateStory(
                            headtv.getText().toString().trim(),
                            "Africa Progress Panel",
                            "Download APP .",
                            "This year's report calls on African leaders to tackle inequality and demands global community tackle. Let your voice be heard. Download APP",
                            "http://africaprogresspanel.org",
                            Global.SERVER_MAIN_URI
                            + "uploads/pictures/reports/subtopics/"
                            + subtopic_photo,
                            new MessageListener());
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    @Override
    public void onBack() {
        // TODO Auto-generated method stub

    }

    @Override
    public void onCancel() {
        // TODO Auto-generated method stub

    }

    @Override
    public void onError(SocialAuthError arg0) {
        // TODO Auto-generated method stub

    }
}

// To get status of message after authentication
public class MessageListener implements SocialAuthListener<Integer> {

    @Override
    public void onError(SocialAuthError arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onExecute(String arg0, Integer t) {

        Integer status = t;
        if (status.intValue() == 200 || status.intValue() == 201 ||status.intValue() == 204)
             Toast.makeText(ReportDetails.this, "Message posted",Toast.LENGTH_LONG).show();
    }

}

在 logcat 中,这就是所看到的

Provider Not Supported

我该怎么办呢

NOTE:

-所有键都正确

【问题讨论】:

    标签: android twitter linkedin socialauth


    【解决方案1】:

    您可以尝试我的图书馆进行社交认证和分享:https://github.com/antonkrasov/AndroidSocialNetworks

    它真的很容易使用,只需构建 Fragment 并启用您需要的社交网络:

    mSocialNetworkManager = (SocialNetworkManager) getFragmentManager().findFragmentByTag(SOCIAL_NETWORK_TAG);
    
    if (mSocialNetworkManager == null) {
        mSocialNetworkManager = SocialNetworkManager.Builder.from(getActivity())
                .twitter(<< TWITTER  API TOKEN  >>, << TWITTER  API SECRET  >>)
                .linkedIn(<< LINKED_IN API TOKEN  >>, << LINKED_IN API SECRET  >>, "r_basicprofile+rw_nus+r_network+w_messages")
                .facebook()
                .googlePlus()
                .build();
        getFragmentManager().beginTransaction().add(mSocialNetworkManager, SOCIAL_NETWORK_TAG).commit();
    }
    

    现在你可以分享了:

    mSocialNetworkManager.getTwitterSocialNetwork().requestPostMessage(message,
                new DemoOnPostingCompleteListener(message)
        );
    
    private class DemoOnPostingCompleteListener implements OnPostingCompleteListener {
        private String mmMessage;
    
        private DemoOnPostingCompleteListener(String message) {
            mmMessage = message;
        }
    
        @Override
        public void onPostSuccessfully(int socialNetworkID) {
            hideProgress();
    
            handleSuccess("Success", "Message: '" + mmMessage + "' successfully posted.");
        }
    
        @Override
        public void onError(int socialNetworkID, String requestID, String errorMessage, Object data) {
            hideProgress();
            handleError(errorMessage);
        }
    }
    

    请查看 Github 存储库以获取更多信息,谢谢 :)

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 2012-03-20
      • 2014-01-12
      • 1970-01-01
      相关资源
      最近更新 更多