OAuth异常“需要访问令牌”时提供一个

时间:2011-05-19 18:29:58

标签: facebook oauth facebook-c#-sdk

我正在使用Facebook C#SDK 5.0.25。我正在尝试将照片上传到我的墙上,我一直在关注“Samples / Facebook / Dynamic / GraphApi.cs”文档中给出的示例,但我收到以下错误: “(OAuthException)请求此资源”

需要访问令牌

我已经尝试了几种不同的解决方案,但我最接近的是以下代码,它给出了上述错误。

    public static bool PostPNG(string UserID)
    {
        // sample usage: UploadPictureToWall(accessToken, @"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg");
        string filePath = @"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg";

        var mediaObject = new FacebookMediaObject
        {
            FileName = System.IO.Path.GetFileName(filePath),
            ContentType = "image/jpg"
        };

        mediaObject.SetValue(System.IO.File.ReadAllBytes(filePath));

        //try
        //{
            var client = new FacebookClient(FBconstants.APP_ID, FBconstants.APP_SECRET);
            string access_token = client.AccessToken;
            client = new FacebookClient(access_token);

            dynamic parameters = new ExpandoObject();
            parameters.source = mediaObject;
            parameters.message = "photo?";
            parameters.access_token = access_token;

            dynamic result = client.Post(UserID+"/photos", parameters);

            PostDelete(result.id);

            return true;
        //}
        //catch (FacebookApiException ex)
        //{
        //    return false;
        //}
    }

我还发现,如果将Post命令切换为“/ feed”,则命令执行,但没有照片。 任何建议都会受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

我在C#中使用来自Codeplex的Facebook C#SDK facebook Post image to wall

有一个工作代码示例

答案 1 :(得分:0)

确保您拥有发布流权限。