-2
我已經創建了Facebook應用程序(用於測試目的)並在公共模式下進行了更改。我可以通過我的應用程序進行分享和分享。但其他用戶不能做同樣的,他們得到錯誤,如Android:其他用戶無法通過我的Facebook應用程序進行分享
{
"error": {
"message": "(#200) The user hasn't authorized the application
to perform this action",
"type": "OAuthException",
"code": 200
}
}
我加入許可權限「publish_actions」也(我用的圖形API)。
當我在確認頁面,第一次登錄時顯示像
以下權限的消息還沒有被批准使用,並沒有被證明使用你的應用程序的人:publish_actions(送審或瞭解更多)
請在開發者頁面中分享有關應用配置步驟的詳細信息。
我在這裏的代碼:
登錄功能
private static final String[] PERMISSIONS ={"publish_actions","email"};
@SuppressWarnings("deprecation")
public void login()
{
sh = getSharedPreferences("mydata", 0);
String access_token = sh.getString("access_token", null);
Long expire = sh.getLong("expire", 0);
if(access_token!=null)
fb.setAccessToken(access_token);
if(expire!=0)
fb.setAccessExpires(expire);
if(!fb.isSessionValid())
fb.authorize(this,PERMISSIONS,new DialogListener(){
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
Editor e = sh.edit();
e.putString("access_token", fb.getAccessToken().toString());
e.putLong("expire", fb.getAccessExpires());
e.commit();
Log.d("Token", fb.getAccessToken().toString());
Log.d("expire",Long.toString(fb.getAccessExpires()));
Profile();
}
@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
}
});
}
//for image post
@SuppressWarnings("deprecation")
public void ImageandTextupload()
{
byte[] data = null;
Bitmap bi = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ByteArrayOutputStream b = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, b);
data = b.toByteArray();
Bundle param = new Bundle();
param.putByteArray("picture", data);
param.putString("message", "this is test post");
param.putString("description", "description");
param.putString("caption", "caption");
param.putString("name", "anand");
param.putString("link","http://google.com");
sh = getSharedPreferences("mydata", 0);
String access_token = sh.getString("access_token", null);
param.putString(Facebook.TOKEN, access_token);
asyn.request("/"+user_id+"/feed", param, "POST",new RequestListener(){
@Override
public void onComplete(String response, Object state) {
// TODO Auto-generated method stub
Log.d("Photo_response",response);
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}},null);
}
Downvoted遺憾,作爲一個很好的答案就在同一天,你沒有回覆,投票或接受。 – halfer