0

asp.net mvc4 アプリケーションのソーシャル ネットワーク統合を開発しています。

Twitter と Facebook は私にとって非常に簡単でしたが、LinkedIn には本当に行き詰まっています。

これが私のコードです。

    public ActionResult LinkedInTest(string text)
    {
        var client = new RestClient
                         {
                             Authority = "https://api.linkedin.com/uas/oauth",
                             Credentials = LinkedInSocialHelper.GetCredentials()
                         };
        var request = new RestRequest {Path = "requestToken"};
        RestResponse response = client.Request(request);

        token = response.Content.Split('&')[0].Split('=')[1];
        tokenSecret = response.Content.Split('&')[1].Split('=')[1];
        textToPost = text;
        Response.Redirect("https://api.linkedin.com/uas/oauth/authorize?oauth_token=" + token + "&scope=r_basicprofile+r_emailaddress+r_network+r_contactinfo+rw_nus");
        return null;
        textToPost = text;
        return RedirectToAction("LinkedInCallback");
    }

    public ActionResult LinkedInCallback()
    {
        verifier = Request["oauth_verifier"];

        var client = new RestClient
                         {
                             Authority = "https://api.linkedin.com/uas/oauth",
                             Credentials = LinkedInSocialHelper.GetCredentials(token, tokenSecret, verifier),
                             Method = WebMethod.Post
                         };
        var request = new RestRequest {Path = "accessToken"};
        RestResponse response = client.Request(request);
        token = response.Content.Split('&')[0].Split('=')[1];
        tokenSecret = response.Content.Split('&')[1].Split('=')[1];
        LinkedInSocialHelper.Post(textToPost, token, tokenSecret);
        return RedirectToAction("Calendar");
    }
    public static void Post(string text, string accessToken, string accessTokenSecret)
    {
        var tokenManager = new TokenManager(ApiKey, ApiSecret);
        tokenManager.ExpireRequestTokenAndStoreNewAccessToken(null, null, accessToken, accessTokenSecret);
        var authorization = new WebOAuthAuthorization(tokenManager, UserToken);
        LinkedInService service = new LinkedInService(authorization);
        //var user = service.GetCurrentUser(ProfileType.Public); - IT IS GIVING ME THE SAME ERROR - Access denied
        service.CreateShare(text, VisibilityCode.ConnectionsOnly);
    }

最後のことを除いてすべて正常に機能します-共有を投稿する-必要なすべての権限を使用してトークンを生成するという事実にもかかわらず、共有を投稿するためのアクセスが拒否されたという例外が発生します。

"https://api.linkedin.com/uas/oauth/authorize?oauth_token=" + トークン + "&scope=r_basicprofile+r_emailaddress+r_network+r_contactinfo+rw_nus"

いい人たちが私を助けてくれることを願っています。

4

1 に答える 1

0

ここの最後の投稿を参照してください-それを解決する方法が説明されています

https://developer.linkedin.com/forum/permission-scope-request-token-query-not-working?page=1

于 2012-11-14T12:59:44.627 に答える