2010-07-29 57 views
5

我試圖將圖像上傳到我的用戶的Facebook牆上,一旦他們打了一個鈕FACEBOOK JS SDK ::如何張貼圖片上牆

我使用的JavaScript SDK,但我有一個問題,圖像看起來像一個在牆上的鏈接...但這不是我想要的...我想發佈一個圖像...相同,當你把你的狀態文本字段上的圖像鏈接,它變成圖像

有幫助嗎?

FB.ui(
      { 
      method: 'stream.publish', 
      message: 'test', 
      attachment :{ 
        'name': 'i\'m bursting with joy', 
        'href': ' http://bit.ly/187gO1', 
        'caption': '{*actor*} rated the lolcat 5 stars', 
        'description': 'a funny looking cat', 
        'properties': { 
         'category': { 'text': 'humor', 'href': 'http://bit.ly/KYbaN'}, 
         'ratings': '5 stars' 
        }, 
        'media': [{ 
          'type': 'image', 
          'src': 'http://icanhascheezburger.files.wordpress.com/2009/03/funny-pictures-your-cat-is-bursting-with-joy1.jpg', 
          'href': 'http://bit.ly/187gO1'}] 
         }, 
      user_message_prompt: 'Share your thoughts about Connect' 
      }, 
      function(response) { 
      if (response && response.post_id) { 
       alert('Post was published.'); 
      } else { 
       alert('Post was not published.'); 
      } 
      } 

回答

13

嘗試FB.api()方法:

var wallPost = { 
    message : "testing...", 
    picture: "http://url/to/pic.jpg" 
}; 
FB.api('/me/feed', 'post', wallPost , function(response) { 
    if (!response || response.error) { 
    alert('Error occured'); 
    } else { 
    alert('Post ID: ' + response); 
    } 
}); 

你可以得到支持的牆壁post數據here(請參見 「發佈」)的列表。

+0

但有沒有辦法上傳圖像到用戶牆? – trrrrrrm 2010-07-31 11:15:19

+0

@ From.ME.to.YOU很好,圖像將作爲圖標發佈到牆上,而不是鏈接。那是你需要的嗎?上傳是什麼意思? – serg 2010-07-31 15:25:16

+0

@serg嘿,這工作正常,但你能告訴我如何張貼在朋友牆?我想有一個按鈕,點擊後會「詢問」是否將圖像張貼到朋友牆上或不是。 – Surya 2012-08-25 14:34:27

12

要在用戶牆上發佈圖片,請使用FB.api('/ me/photos',...)而不是FB.api('/ me/feed',...),並且還需要訪問令牌。

附上的代碼示例:

FB.login(function(response) { 
    if (response.authResponse) { 
     var access_token = FB.getAuthResponse()['accessToken']; 
     FB.api('/me/photos?access_token='+access_token, 'post', { url: IMAGE_SRC, access_token: access_token }, function(response) { 
      if (!response || response.error) { 
       //alert('Error occured: ' + JSON.stringify(response.error)); 
      } else { 
       //alert('Post ID: ' + response); 
      } 
     }); 
    } else { 
     //console.log('User cancelled login or did not fully authorize.'); 
    } 
}, {scope: 'publish_stream'}); 

張貼在朋友頁:就地「/我」的輸入朋友的Facebook的用戶ID。

"/"+friends_user_id+"/photos" ....