在网上看了两天后,我终于决定在SO上发帖.
好吧,我只是想在我的Android应用程序中将照片发布到facebook上.
AM使用官方android-facebook-sdk.我导入到示例项目并在上传部分添加我的代码以上传照片.喜欢
mUploadButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Bundle params = new Bundle();
        params.putString("method", "photos.upload");
        Bitmap temp = BitmapFactory.decodeResource(getResources(),R.drawable.facebook_icon);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        temp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
        byte[] imgData = baos.toByteArray();
        params.putByteArray("picture", imgData);
        mAsyncRunner.request(null, params, "POST", new SampleUploadListener());
    }
});
但它确实有效:(
我通过这个论坛的链接也很喜欢: 寻找Android Facebook SDK的例子
但是我无法发帖.:(
请帮助我.好极了.
我正在将一些Android Facebook代码从一个转换Activity为一个Fragment.在切换之前一切正常,但现在onComplete()回调没有被执行.
Facebook代码不能与Fragments一起使用,或者我做错了什么?
这是原始代码(在a中SherlockActivity):
if (!mFacebook.isSessionValid()) {
    mFacebook.authorize(MyActivity.this, permissions, new DialogListener() {
        @Override
        public void onComplete(Bundle values) { ... }    // CALLED AS EXPECTED
    }
}
这是新代码(在SherlockFragment中):
if (!mFacebook.isSessionValid()) {
    mFacebook.authorize(getActivity(), permissions, new DialogListener() {
        @Override
        public void onComplete(Bundle values) { ... }    // DOES NOT GET CALLED
    }
}
Activity和Fragment都包含与Facebook要求相同的onActivityResult():
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    mFacebook.authorizeCallback(requestCode, resultCode, data);
}
谢谢你的帮助! …
android facebook-android-sdk android-fragments actionbarsherlock fragmentpageradapter
我遇到了FB API的问题.
星期五早上,我已经完成了设置,它工作正常,我可以在我的2个不同的设备上安装它,它同时适用于两者.
星期天,当我想向我的朋友展示我的应用程序时,与安装了FB应用程序的设备连接到Facebook崩溃,今天我第一次使用API 3.0,我看到我的应用程序配置错误,无法登录Facebook.
直到今天我才触摸代码,今天我唯一改变的是调用我发布带有标题的图像,所以我根本没有触摸登录部分:
if (MyGlobals.INSTANCE.isOnline(getSherlockActivity())) {
if (txt.getTag() == faceLoggedIn) {
 if (session.isOpened()) {
  Log.w("ss", "Session Allready Open");
  onClickLogout();
  updateSocialView(txt, img);
  // txt.setText("Log To Facebook");
  // txt.setTag(faceLoggedOut);
  // img.setImageResource(R.drawable.facebook_icon_gray);
  // MyGlobals.INSTANCE.f_socialsSet = false;
 }
} else if (txt.getTag() == faceLoggedOut) {
 if (!session.isOpened() && !session.isClosed()) {
  Log.w("Session is not opend", "Session is not closed");
  session.openForRead(new Session.OpenRequest(getActivity()).setCallback(MyGlobals.INSTANCE.statusCallback));
 } else {
  Session.openActiveSession(getActivity(), true, MyGlobals.INSTANCE.statusCallback);
  Log.w("Open Active Session", "Status Callback");
  updateSocialView(txt, img);
 }
 updateSocialView(txt, img);
 // txt.setText("Log To Facebook");
 // …我正确地使用下面的代码将照片发布到我的默认相册.有没有办法为该照片添加评论/标题?谢谢.
Bitmap sourceBitmap = BitmapFactory.decodeFile(bitmapPath);
                    Request request = Request.newUploadPhotoRequest(session, sourceBitmap, new Callback() {
                        @Override
                        public void onCompleted(Response response) {
                        }
                    });
                    request.executeAsync();
我不明白为什么这个查询在android和"Graph Api Explorer"中不起作用
111891332274505?字段= albums.fields(ID,名称,描述,updated_time,CREATED_TIME,cover_photo)
错误代码
错误代码:2500错误mensaje:{HttpStatus:400,errorCode:2500,errorType:OAuthException,errorMessage:语法错误"字符串的预期结束而不是"?"." 在角色6:照片?access_token = XXXXXXXXXXXX}
码
     public void getAlbumFacebook () {
     Request request = new Request(session, "/111891332274505?fields=albums.fields(id,name,description,updated_time,created_time,cover_photo)", null, HttpMethod.GET, new Request.Callback() {
        @Override
        public void onCompleted(Response response) {
            GraphObject graphObject = response.getGraphObject();
            FacebookRequestError error = response.getError();
             if (error != null) {
                 DebugLog.log("Error code: " + error.getErrorCode() + " Error mensaje: " + error.toString());
            }
            if (graphObject != null) {
                JSONArray jsonArray = (JSONArray) graphObject.getProperty("data");
                DebugLog.log("JSON Facebook "+ jsonArray.toString());
            } else {
                 DebugLog.log("Es null");
            }
        } …android facebook facebook-graph-api facebook-android-sdk facebook-sdk-3.0
我想知道当你没有互联网连接时facebook使用的UI元素是什么 - 这是它的图片 - 带有感叹号和文本没有互联网连接的图片.

任何想法如何以编程方式实现?
谢谢
user-interface android facebook android-ui facebook-android-sdk
我正在使用Android Studio并使用以下方法实现了Facebook SDK:File -> Import module -> "facebook" folder
然后我在app模块compile project(':facebook')的build.gradle中添加了这一行.
现在我正在尝试使用元素添加登录按钮com.facebook.widget.LoginButton:
<com.facebook.widget.LoginButton
    android:id="@+id/authButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
当我收到此错误时,我无法看到布局的"预览":
java.lang.NullPointerException
at com.facebook.Settings.loadDefaultsFromMetadata(Settings.java:563)
at com.facebook.internal.Utility.getMetadataApplicationId(Utility.java:227)
at com.facebook.widget.LoginButton.checkNuxSettings(LoginButton.java:663)
at com.facebook.widget.LoginButton.onDraw(LoginButton.java:639)
at android.view.View.draw(View.java:14465)
at android.view.View.draw(View.java:14350)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at android.view.View.draw(View.java:14468)
at android.view.View.draw(View.java:14350)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at android.view.View.draw(View.java:14348)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at android.view.View.draw(View.java:14468)
at android.view.View.draw(View.java:14350)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at android.view.View.draw(View.java:14468)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:584)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:338)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.java:560) …我现在被困了好几天了.我正在facebook中使用PhotoShareDialogBuilder.我使用的内容提供程序是这样的:
<provider android:authorities="com.facebook.app.NativeAppCallContentProvider*****************"
                  android:name="com.facebook.NativeAppCallContentProvider"
                  android:exported="true"/>
但是,每当代码执行时,它都会给我错误.有人请帮帮我.我不想使用任何其他api,如简单的facebook等.我在logcat中收到的错误是:09-06 13:56:14.575:E/ActivityThread(4202):无法找到com.facebook的提供者信息. wakizashi.provider.PlatformProvider.
我的代码:
 boolean canPresentShareDialogWithPhotos = FacebookDialog.canPresentShareDialog(this,
                        FacebookDialog.ShareDialogFeature.PHOTOS);
                if (canPresentShareDialogWithPhotos) {
                    FacebookDialog shareDialog = createShareDialogBuilderForPhoto(image).build();
                    uiHelper.trackPendingDialogCall(shareDialog.present());
                }  
private FacebookDialog.PhotoShareDialogBuilder createShareDialogBuilderForPhoto(Bitmap... photos) {
    return new FacebookDialog.PhotoShareDialogBuilder(this)
            .addPhotos(image);
}
我正在尝试添加其他权限以访问我的Android应用中的好友列表,有很多关于旧API图的资源但找不到新API的任何内容,所以我尝试向阵列添加新权限但它不起作用我遇到了上述错误.
public void getProfileInformation()
{
    AccessToken token = AccessToken.getCurrentAccessToken();
    LoginManager.getInstance().logInWithPublishPermissions(LoginActivity.this, Arrays.asList(new String[]{"email", "publish_actions", "user_birthday", "user_hometown","read_custom_friendlists"}));
    final GraphRequest request = GraphRequest.newMeRequest(token, new GraphRequest.GraphJSONObjectCallback() {
        @Override
        public void onCompleted(JSONObject object, GraphResponse response) {
            try {
                Log.d("Firstname", object.getString("id"));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            Log.d("Response Friend List", response.toString());
        }
    });
final Bundle parameters = new Bundle();
    parameters.putString("fields", "id, email, picture, birthday");
    parameters.putString("user", "100006601683765");
    GraphRequestAsyncTask graphRequest = new GraphRequest( AccessToken.getCurrentAccessToken(),"/{user-id}/", null , HttpMethod.GET ,
            new GraphRequest.Callback() {
                public void onCompleted(GraphResponse response) {
                    parameters.putString("fields", …android facebook facebook-graph-api facebook-android-sdk facebook-access-token
实际上我想在我的页面上发布作为一个页面而不是在Android应用程序中使用facebook sdk的用户,但问题是页面"AccessToken",我从图形请求中检索到的是字符串,现在我不能在其他图形请求中使用它.它说String不能转换为AccessToken.
这是我的代码.
  package com.mak.masimmak.pageshare;
        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.Button;
        import android.widget.Toast;
        import com.facebook.AccessToken;
        import com.facebook.GraphRequest;
        import com.facebook.GraphResponse;
        import com.facebook.HttpMethod;
        import org.json.JSONException;
        import org.json.JSONObject;
        public class sharePage extends AppCompatActivity {
         Button shareButton;
            public String PageId;
            String PageAccessToken;
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_share_page);
                shareButton = (Button) findViewById(R.id.shareButton);
                shareButton.setOnClickListener(new View.OnClickListener(){
                    @Override
                    public void onClick(View view) {
                        if(getIntent().getExtras() != null) {
                            Bundle extras = getIntent().getExtras();
                            PageId = extras.getString("PageId");
                            /* make the API call */
                            new GraphRequest(
                                    AccessToken.getCurrentAccessToken(), …android type-conversion facebook-android-sdk facebook-access-token