【问题标题】:Uploading photos to Facebook album via Facebook C# SDK通过 Facebook C# SDK 将照片上传到 Facebook 相册
【发布时间】:2012-03-29 22:35:14
【问题描述】:

我正在尝试借助 Facebook C# SDK 版本将照片上传到 Facebook 相册。 5.4.1.0,但一直失败并出现以下错误:“OAuthException) (#200) 应用程序没有能力进行此 API 调用。”

我想要实现的是:

  • 获取某个页面的 Facebook PageID,我是其管理员
  • 在该页面上创建一个相册
  • 将照片上传到该相册

到目前为止,我设法获得了页面的访问令牌,并在该页面内创建了一个相册

代码是:

    Protected Sub Button2_Click(sender As Object, e As System.EventArgs) Handles Button2.Click


    Dim fb As New Facebook.FacebookClient("MyAccessToken")
    Dim dic As IDictionary(Of String, Object) = DirectCast(fb.Get("/me/accounts"), IDictionary(Of String, Object)) 'List of all my pages
    Dim dicy As IList(Of Object) = DirectCast(dic("data"), IList(Of Object)) 'cast the Data part of JSON to list
    Dim page As IDictionary(Of String, Object)      'Individual item inside the dicy :)
    For i As Integer = 0 To dicy.Count - 1
        page = DirectCast(dicy(i), IDictionary(Of String, Object))
        If page("id") = PageID Then 'try to match given PageID with the one in the list
            fb.AccessToken = page("access_token") 'change access token to the one of the page
            Exit For
        End If


    Next

    'Create an album
    Dim fbparams As New Dictionary(Of String, Object)
    fbparams.Add("message", "New album")
    fbparams.Add("name", "my album name")
    'post to Facebook and get the AlbumID
    Dim Album As Facebook.JsonObject = fb.Post("/me/albums", fbparams)

    'try to upload photos
    Call UploadPhotoToAlbum(fb, Album(0).ToString, Server.MapPath("~/myimage.jpg"))
End Sub

上传文件的代码是:

    Private Sub UploadPhotoToAlbum(ByVal fbApp As Facebook.FacebookClient, ByVal AlbumID As String, ByVal ImagePath As String)
    Dim media As New Facebook.FacebookMediaObject
    media.ContentType = "image/jpeg"
    media.FileName = ImagePath

    Dim filebytes As Byte() = System.IO.File.ReadAllBytes(ImagePath)
    media.SetValue(filebytes)
    Dim upload As New Dictionary(Of String, Object)
    upload.Add("name", "Picture No 1")
    upload.Add("message", "This is my first uploaded image")
    upload.Add("@file.jpg", media)
    fbApp.Post("/" & AlbumID, upload)
End Sub

我的应用有以下权限:create_note manage_pages offline_access photo_upload publish_stream read_stream share_item status_update user_photo_video_tags user_photos user_videos video_upload

【问题讨论】:

    标签: vb.net facebook-graph-api facebook-c#-sdk


    【解决方案1】:

    设法解决,找到解决方案here

    我忘了在 fbApp.Post 的最后一句中添加“/photos”。

    【讨论】:

    • +1 以获得良好的问题结构,并在解决问题时花时间回答您自己的问题!
    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    相关资源
    最近更新 更多