标签: facebook-android-sdk

Android Facebook SDK 3.0在登录时提供"remote_app_id与存储的ID不匹配"

我正在尝试构建一个使用Facebook SDK for Android 3.0的应用程序.但是当我试着打电话的时候

Session.openActiveSession
Run Code Online (Sandbox Code Playgroud)

它只是简单地给我一个CLOSED_LOGIN_FAILED的SessionState,LogCat是:

12-16 00:03:40.510: W/fb4a:fb:OrcaServiceQueue(4105): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id 
Run Code Online (Sandbox Code Playgroud)

我用"remote_app_id"搜索了StackOverflow,结果是iOS中的"Bundle ID",但我不知道"remote_app_id"在Android中是什么意思.我已经在我的Facebook应用设置中设置了包名和活动名称.我不知道错误的原因.

android facebook facebook-android-sdk

43
推荐指数
4
解决办法
3万
查看次数

类似于Cocoa Pods和Bundler for Android(用于依赖)?

有什么类似于bundler(ruby)和cocoa pods(ios)来管理Android中的依赖项吗?

android facebook-android-sdk

40
推荐指数
2
解决办法
1万
查看次数

Android - Facebook SDK 3 - 如何在没有LoginButton的情况下以编程方式登录

我正在编写一个与Facebook SDK集成的应用程序,以分享一些(字符串)内容作为墙贴.现在,我让HelloFacebookSample工作了.但是它使用LoginButton来记录用户.

我不希望这样.我想要做的就是点击操作栏中的我的分享按钮并分享到Facebook.因此,我想以编程方式登录,我试图模拟LoginButton的功能,但到目前为止还没有成功.我明白了

12-06 15:34:33.180:E/AndroidRuntime(19493):java.lang.UnsupportedOperationException:Session:尝试重新授权具有待处理请求的会话.

公共类MainActivity扩展了FacebookActivity {

@SuppressWarnings("serial")
private static final List<String> PERMISSIONS = new ArrayList<String>() {
    {
        add("publish_actions");
    }
};
private final int REAUTHORIZE_ACTIVITY = 3;
private Button postStatusUpdateButton;
private PendingAction pendingAction = PendingAction.NONE;

private enum PendingAction {
    NONE, POST_PHOTO, POST_STATUS_UPDATE
}

/**
 * Called when the activity is first created.
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    postStatusUpdateButton = (Button) findViewById(R.id.postStatusUpdateButton);
    postStatusUpdateButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Log.d("MainActivity", "onClick");
            onClickPostStatusUpdate();
        }

    });

}

@Override …
Run Code Online (Sandbox Code Playgroud)

android login button facebook-android-sdk

39
推荐指数
2
解决办法
2万
查看次数

无法解析依赖Android Studio 3.0

拥有更新的Android Studio 3.0非常棒.但是我遇到了Android Studio 3.0的问题,我刚刚在Android Studio 3.0中创建了一个新项目.然后我收到了一些错误

我通过更改dependencies到最新版本解决了这些问题并解决了问题.

但是,当我加了dependencyFacebook帐户,包SDK com.facebook.android:account-kit-sdk:4.+

我得到以下错误 - :

错误:无法解析':app @ debug/compileClasspath'的依赖项:无法解析com.facebook.android:account-kit-sdk:4.+.打开文件
显示细节

的build.gradle(APP)

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "ultimate.devil.logintest"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation …
Run Code Online (Sandbox Code Playgroud)

android facebook-android-sdk android-studio-3.0

39
推荐指数
2
解决办法
8万
查看次数

何时使用Facebook的新Android SDK 3.0请求权限?

随着Facebook的新Android SDK 3.0(几天前发布),身份验证过程发生了变化.

那么你如何申请阅读权限,例如"friends_hometown"?

以下代码是我试图这样做的 - 但我很确定这不是你应该这样做的方式:

版本1:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Session.openActiveSession(this, true, new Session.StatusCallback() { // start Facebook login
        @Override
        public void call(Session session, SessionState state, Exception exception) { // callback for session state changes
            if (session.isOpened()) {
                List<String> permissions = new ArrayList<String>();
                permissions.add("friends_hometown");
                session.requestNewReadPermissions(new Session.NewPermissionsRequest(FBImport.this, permissions));
                Request.executeGraphPathRequestAsync(session, "me/friends/?access_token="+session.getAccessToken()+"&fields=id,name,hometown", new Request.Callback() {
                    ...
                });
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

版本2:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Session currentSession = Session.getActiveSession();
    if (currentSession == null || currentSession.getState().isClosed()) { …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-authentication facebook-android-sdk

37
推荐指数
3
解决办法
4万
查看次数

WebApi ASP.NET Identity Facebook登录

在asp.net身份的facebook身份验证流程中,facebook oauth对话框将代码而不是访问令牌附加到redirect_url,以便服务器可以通过此代码交换此代码http://localhost:49164/signin-facebook?code=...&state=....

我的问题是我的客户端是一个使用facebook sdk的移动应用程序,它直接给了我一个访问令牌.Facebook说使用sdk总是给你一个访问令牌,所以我可以直接给web api访问令牌吗?

我知道这不是很安全,但它是否可能?

facebook facebook-android-sdk facebook-ios-sdk asp.net-web-api

35
推荐指数
3
解决办法
2万
查看次数

Facebook SDK for Android重复支持依赖项库

我已经实现了新的Facebook SDK 3.0测试版.该库项目包含Android支持库v4.我也有自己的proyect支持库(虽然不同的版本).当我将Facebook SDK添加为库时,我在控制台上收到下一个错误:

Jar mismatch! Fix your dependencies
Found 2 versions of android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Run Code Online (Sandbox Code Playgroud)

我试图排除libs构建路径上的文件夹,但错误仍然存​​在.

我必须在两个地方放置相同的.jar.我在这里错过了什么吗?我的想法是使用我自己项目的支持库(以保持更新).

android facebook-android-sdk android-support-library

34
推荐指数
1
解决办法
2万
查看次数

是否有可能在Facebook Android SDK3中更改Facebook登录按钮图像?

Facebook Android sdk有一个 com.facebook.widget.LoginButton

我想将自己的图像放入"登录"按钮.可能吗 ?

到目前为止,我已经尝试添加android:src="@drawable/facebook"布局文件作为按钮元素的属性,没有运气

android facebook-android-sdk

34
推荐指数
2
解决办法
4万
查看次数

Android应用密钥哈希与任何存储的密钥哈希都不匹配

我在Play商店有一个生产应用程序,它使用Facebook SDK登录.当我从Eclipse调试应用程序时没有问题,但是当它正在生产时它会在Facebook询问我权限后给出以下错误.我在developers.facebook.com上的应用页面上添加了使用此命令使用keytool生成的密钥哈希:

keytool -exportcert -alias diego -keystore"C:\ Users\Diego\Desktop\CeluChat.KeyStore"| "C:\ openssl\bin\openssl.exe"sha1 -binary | "C:\ openssl\bin\openssl.exe"base64

CeluChat.KeyStore是我在导出已签名的应用程序时使用的密钥库,当keytool向我提供密码时,我在导出时输入了相同的密码.

但是我生产的错误(从Play商店下载)是:

10-20 22:21:10.752:W/fb4a(:):BlueServiceQueue(5872):com.facebook.http.protocol.ApiException:密钥哈希VQ3XhZb5_tBH9oGe2WW32DDdNS0与任何存储的密钥哈希值都不匹配.

异常上的Key Hash与使用keytool生成的密钥哈希不同.无论如何,我在Facebook上添加了Key Hash,但它仍然无效.

android facebook-android-sdk

32
推荐指数
7
解决办法
5万
查看次数

Android facebook sdk登录后不会调用回调

救命,

我正在尝试创建一个在我的应用程序中处理facebook登录的类.我的问题是它不适用于所有活动.在那个活动上,它不会调用回调.登录和授权应用程序webview被解除后,回调不会触发.在Logcat中打印的最后一个状态是打开

这是我的代码:

public void doLogin() {


        if ((Session.getActiveSession() == null || !Session.getActiveSession().isOpened())) {
            List<String> permissions = new ArrayList<String>();
            permissions.add("email");

            // start Facebook Login
            openActiveSession(activity, true, new Session.StatusCallback() {

                // callback when session changes state
                @Override
                public void call(Session session, SessionState state,
                        Exception exception) {

                    Log.d("Sessionstate", state.toString());
                    if (session.isOpened()) {
                        // make request to the /me API
                        Request.executeMeRequestAsync(session,
                                new Request.GraphUserCallback() {

                                    @Override
                                    public void onCompleted(GraphUser user,
                                            Response response) {
                                        if (prgCheckFB.isShowing())
                                            prgCheckFB.dismiss();
                                        if (user != null) {

                                            Log.e("facebookid", id); …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-android-sdk

31
推荐指数
2
解决办法
2万
查看次数