0

我的应用程序中有推特海报,它使用oAuth 1.0,它将很快退休并且将无法使用。我必须将我的 API 升级到1.1。Twitter 开发中心表示,如果您的应用程序使用了 oAuth,您只需更新您的API 端点即可轻松交易到1.1 。API端点到底是什么?

在这里,我很难理解 API 端点。我认为我的异步后调用 URL 必须升级。

这是我认为可能包含答案的相关代码;

private void btnPostTweet_Click(object sender, RoutedEventArgs e)
    {
        namebocx.Text = userScreenName;
        if (txtBoxNewTweet.Text.Trim().Length == 0) { return; }

        var credentials = new OAuthCredentials
        {
            Type = OAuthType.ProtectedResource,
            SignatureMethod = OAuthSignatureMethod.HmacSha1,
            ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
            ConsumerKey = TwitterSettings.consumerKey,
            ConsumerSecret = TwitterSettings.consumerKeySecret,
            Token = this.accessToken,
            TokenSecret = this.accessTokenSecret,
            Version = "1.0"
        };

        var restClient = new RestClient
        {
            Authority = TwitterSettings.StatusUpdateUrl,
            HasElevatedPermissions = true,
            Credentials = credentials,
            Method = WebMethod.Post
        };

        restClient.AddHeader("Content-Type", "application/x-www-form-urlencoded");

        // Create a Rest Request and fire it
        var restRequest = new RestRequest
        {
            Path = "1/statuses/update.xml?status=" + txtBoxNewTweet.Text //Here must be endpoint of Api??
        };

        var ByteData = Encoding.UTF8.GetBytes(txtBoxNewTweet.Text);
        restRequest.AddPostContent(ByteData);
        restClient.BeginRequest(restRequest, new RestCallback(PostTweetRequestCallback));
    }
}

这也是身份验证设置:

public class TwitterSettings
{
    public static string RequestTokenUri = "https://api.twitter.com/oauth/request_token";
    public static string AuthorizeUri = "https://api.twitter.com/oauth/authorize";
    public static string AccessTokenUri = "https://api.twitter.com/oauth/access_token";

    public static string CallbackUri = "http://www.google.com";

    public static string StatusUpdateUrl { get { return "http://api.twitter.com"; } }


    public static string consumerKey = "myconsumerkeyhere";
    public static string consumerKeySecret = "myconsumersecrethere";

    public static string oAuthVersion = "1.0a";
}

这里 twitter 说我用这个代替而不是写在我的代码中; https://api.twitter.com/1.1/statuses/update.json 和这里告诉的一些参数 -->> https://dev.twitter.com/docs/api/1.1/post/statuses/update

我应该如何更新我的 API 端点,我需要做什么样的改变?

如果你能帮助我,我真的很感激

4

1 回答 1

0

你可以改变这个:

Path = "1/statuses/update.xml?status=" + txtBoxNewTweet.Text 
//Here must be endpoint of Api??

对此:

Path = "1.1/statuses/update.json?status=" + txtBoxNewTweet.Text 
//Here must be endpoint of Api??
于 2013-04-04T13:48:50.477 回答