2015-08-16 53 views
0

我在一段時間後創建了一個應用程序,使用意圖。現在它不工作。我學到了不允許通過意圖發佈文字和圖片的地方。我只是想確認這是事實。做意圖不再適用於在Facebook上發佈圖像?

如果這是真的,那麼是唯一通過Facebook SDK發佈的方法,還是有其他簡單的方法來做到這一點?

+0

你必須使用facebook sdk https://developers.facebook.com/docs/sharing/android – Raghunandan

回答

0

你可以做的就是利用facebook圖形API來代表用戶使用訪問令牌對Facebook服務器執行HTTP請求。

爲了獲得訪問令牌,您需要實現Facebook登錄,您需要熟悉oauth和oauth2協議來完成此操作。 一旦你有訪問令牌,你可以將圖像發佈到/me/photos端點的facebook賬戶。 將圖像存儲在位圖中。並使用下面的代碼。

HttpClient httpClient = new DefaultHttpClient(); 
HttpContext localContext = new BasicHttpContext(); 
HttpPost httpPost = new HttpPost(
     "https://graph.facebook.com/me/photos?access_token=" 
       + AccessTokens.fbaccesstoken); 
MultipartEntity entity = new MultipartEntity(
     HttpMultipartMode.BROWSER_COMPATIBLE); 
ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
bitmap.compress(CompressFormat.JPEG, 100, bos); 
byte[] data = bos.toByteArray(); 
entity.addPart("source", new ByteArrayBody(data, "myImage.jpg")); 
entity.addPart("message", new StringBody(caption.getText() 
     .toString())); 
httpPost.setEntity(entity); 
HttpResponse response = httpClient.execute(httpPost,localContext); 

Facebook的SDK是建立在該API之上的SDK大大減少了在使用這些功能對我們開發的複雜性。

P.S:Facebook對任何試圖實施oauth登錄的應用程序進行審查。更多信息在https://developers.facebook.com/docs/facebook-login/review