[問題] facebook api

看板AndroidDev作者 (code)時間12年前 (2013/04/02 16:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
各位大大好 最近在練習 facebook api ,原本一切順利 也可以po 文與圖, 但是今天在重新試了一次後,卻一直出現錯誤 (登入可,一按下按鈕即當掉,按鈕為放上圖片與文字) APP id 和 Key Hashes2 都已經取得 以下為code package com.example.testfb; import java.io.ByteArrayOutputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.net.MalformedURLException; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.facebook.android.*; import com.facebook.android.Facebook.*; public class MainActivity extends Activity { private Facebook facebook = new Facebook("我的app id");//這邊是正確的 String message = "I want to sent message"; public Bitmap bmp; private static final String[] PERMISSIONS = new String[] { "publish_stream", "read_stream", "offline_access","user_photos" }; public Button sendBtn; public TextView tv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sendBtn = (Button)findViewById(R.id.send); tv = (TextView)findViewById(R.id.textView1); bmp=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); facebook.authorize( this, new String[] { "email","publish_stream", "read_stream","user_photos" }, new DialogListener(){ @Override public void onComplete(Bundle values) { // TODO Auto-generated method stub } @Override public void onFacebookError(FacebookError e) { // TODO Auto-generated method stub } @Override public void onError(DialogError e) { // TODO Auto-generated method stub } @Override public void onCancel() { // TODO Auto-generated method stub } }); sendBtn.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { /* try { checkins(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ try { photo(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FacebookError e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } //albumid(); // postToWall_photos(message, message, Bitmap2Bytes(bmp)); } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); facebook.authorizeCallback(requestCode, resultCode, data); } private byte[] Bitmap2Bytes(Bitmap bm){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, 100, baos); return baos.toByteArray(); } public void photo() throws MalformedURLException, IOException, FacebookError, JSONException { String wallAlbumID = null; String response = facebook.request("me/albums"); JSONObject json = Util.parseJson(response); JSONArray albums = json.getJSONArray("data"); for (int i =0; i < albums.length(); i++) { JSONObject album = albums.getJSONObject(i); if (album.getString("type").equalsIgnoreCase("wall")) { wallAlbumID = album.getString("id"); break; } } if (wallAlbumID != null) { Bundle params = new Bundle(); params.putString("message", "Uploaded on "); params.putByteArray("source", Bitmap2Bytes(bmp)); facebook.request(wallAlbumID+"/photos", params, "POST"); } } } 謝謝大大耐心看完 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.20.62
文章代碼(AID): #1HMfnEtC (AndroidDev)
文章代碼(AID): #1HMfnEtC (AndroidDev)