标签: android-facebook

android facebook sdk将feed发布到用户的时间轴

在我的应用程序中,我需要在用户的时间轴上发布某些内容.我按照https://developers.facebook.com/docs/howtos/androidsdk/3.0/publish-to-feed/上的官方教程进行了操作.但是在本教程中,他们首先提到了设置Login流程.他们给了一个很好的指导.没关系.

但我想要的方式是,用户只会看到" 分享故事"按钮.如果用户已登录,则应直接发布故事.如果没有,应该遵循正常的登录流程,询问所需的权限,并且应该发布登录回调故事.我不想显式显示Login按钮.

我坚持这一点,因为在文档中,他们提到的任何地方都 <com.facebook.widget.LoginButton .... />用于登录目的.我根本不想使用它,因为这将要求用户进行两次交互.首先点击" 登录"按钮,第二次发布故事,他/她必须点击" 分享故事"按钮.

我无法找到一种方法来检查用户是否未登录并强制他/她先从我的代码块登录.

android facebook facebook-android-sdk android-facebook

9
推荐指数
1
解决办法
3218
查看次数

添加facebook SDK现在无法恢复活动强制关闭

我的活动是在崩溃时抛出此错误:

java.lang.RuntimeException: Unable to resume activity {com.beerportfolio.beerportfoliopro/com.example.mike.beerportfoliomaterial.MainDrawer2}: java.lang.IllegalArgumentException: Both context and applicationId must be non-null
       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3069)
       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)
       at android.app.ActivityThread.access$900(ActivityThread.java:172)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:146)
       at android.app.ActivityThread.main(ActivityThread.java:5653)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
       at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.IllegalArgumentException: Both context and applicationId must be non-null
       at com.facebook.AppEventsLogger.activateApp(AppEventsLogger.java:273)
       at com.facebook.AppEventsLogger.activateApp(AppEventsLogger.java:260)
       at com.example.mike.beerportfoliomaterial.MainDrawer2.onResume(MainDrawer2.java:179)
       at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1198)
       at android.app.Activity.performResume(Activity.java:5618)
       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3059)
       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3098)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)
       at android.app.ActivityThread.access$900(ActivityThread.java:172)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:146)
       at android.app.ActivityThread.main(ActivityThread.java:5653)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-social-plugins android-facebook

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

Android Facebook登录中不会调用回调函数

我正在开发一款Android应用.在我的应用程序中,我正在整合Facebook登录.我之前曾经开发过一次Facebook登录.当我开发这个时候,不会调用Facebook回调函数.我也无法检查错误.我不知道出了什么问题.

我使用Gradle安装了Facebook SDK

compile 'com.facebook.android:facebook-android-sdk:4.1.0'
Run Code Online (Sandbox Code Playgroud)

然后我生成了密钥哈希并在Facebook开发人员设置中设置如下:

在此输入图像描述

这是我的表现

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="tonightfootballreport.com.tfr" >
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:name="tonightfootballreport.model.TfrApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
        <activity
            android:configChanges="orientation|screenSize"
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:configChanges="orientation|screenSize"
            android:name=".FacebookConfigActivity"
            android:label="Facebook"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="tonightfootballreport.com.tfr.FacebookConfigActivity"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name="com.facebook.FacebookActivity"
            android:configChanges=
                "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:label="@string/app_name" />

        <provider android:authorities="com.facebook.app.FacebookContentProvider1817380365215100"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true" …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-login android-facebook facebook-sdk-4.x

9
推荐指数
1
解决办法
4204
查看次数

Android Facebook 不要求在应用程序中使用不同的用户登录

我正在开发一个应用程序,其中我在自定义按钮上进行 Facebook 身份验证。我做的代码如下:

首先,我在我的活动 onCreate() 中将 facebook SDK 初始化为:

// Facebook
FacebookSdk.sdkInitialize(this);
Run Code Online (Sandbox Code Playgroud)

然后我注册回调为:

// Facebook Login
mCallbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
    @Override
    public void onSuccess(LoginResult loginResult) {
        GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
            @Override
            public void onCompleted(JSONObject object, GraphResponse response) {
                // Get facebook data from login
                try {
                    Bundle bundle = new Bundle();
                    String id = object.getString("id");

                    URL profile_pic = null;
                    try {
                        profile_pic = new URL("https://graph.facebook.com/" + id + "/picture?type=large");
                        bundle.putString("profile_pic", profile_pic.toString());
                    } catch (MalformedURLException …
Run Code Online (Sandbox Code Playgroud)

android facebook logout facebook-graph-api android-facebook

9
推荐指数
0
解决办法
1547
查看次数

在Android Studio 0.5.1上导入Facebook SDK

我一直在寻找一段时间,并尝试了我能找到的每一个答案都没有成功.我开始相信问题出在android studio版本中.

然而,这就是我所做的:

1 - 我已经下载了facebook sdk

2 - 将sdk复制到我的libs文件夹中,以便项目如下所示:

 MyProj
 -app
 --libs
 ---facebook
 ----build.gradle (2)
 --build.gradle (1)
 -settings.gradle
Run Code Online (Sandbox Code Playgroud)

3 - 我修改了settings.gradle:

include ':libs:facebook', ':app'
Run Code Online (Sandbox Code Playgroud)

4 - 我将build.gradle(1)修改为:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }


    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'me.dm7.barcodescanner:zxing:1.0'
    compile 'com.koushikdutta.ion:ion:1.2.4'
    compile 'com.google.code.gson:gson:2.2.+'
    compile 'com.squareup.picasso:picasso:2.1.1'
    compile project(':libs:facebook');
}
Run Code Online (Sandbox Code Playgroud)

5 - …

android facebook include android-facebook android-gradle-plugin

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

使用Google + Facebook登录的Android应用程序的Spring启动REST api安全性

我正在构建一个2层的应用程序: -

1.原生Android应用程序 - 包含通过Facebook + Google登录以减少痛苦登记的能力.

2.使用Spring Boot的Java Server - 典型的MVC端点,例如REST api + UI管理屏幕.

Facebook(FacebookSdk)和Google(GoogleApiClient)登录部分正在使用以下Android依赖项进行工作和测试: -

dependencies {
   compile 'com.facebook.android:facebook-android-sdk:4.6.0'
   compile 'com.google.android.gms:play-services-auth:9.0.0'
   ....

}
Run Code Online (Sandbox Code Playgroud)

API我们有: -

/api/signin- 当用户使用Facebook + Google成功登录并在users数据库表中创建条目时调用.

还有许多其他API端点,例如优惠

/api/offers/<user_id>- 向已注册的用户返回优惠.

我不确定最佳实践方式: -

  1. android应用程序如何对/ api/signin REST端点进行API调用(即哪些标头等可以发送到我认为是没有安全性的端点,因为未注册的用户将会遇到此问题).另外,在usersdb表中可以保存哪些字段?

  2. Android应用程序如何调用例如/ api/offers /已经注册的用户?即当Android应用程序传递时令牌等等?

  3. Spring安全性保护这些端点的最佳实践方法.

假设OAuth 2是要走的路,但任何建议/指针都将受到最多的赞赏.

android spring-security android-facebook spring-boot android-security

8
推荐指数
1
解决办法
1692
查看次数

Facebook登录我的Android应用程序在发布apk中运行良好,但在Play商店发布相同的apk后无法正常工作

在我的Android应用程序中,我使用facebook登录.这是我第一次使用它.

登录功能在发布apk文件中正常工作.另外,我使用keytool,openssl生成了密钥哈希: -

keytool -exportcert -alias "MyAppAlias" -keystore "Path to keystore" | 
openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)

我在Facebook开发者帐户的App设置中添加了生成的密钥哈希.现在,当我生成签名apk时,Facebook登录工作正常,但在Play商店发布相同的apk后,Facebook登录无法正常工作,它只是重定向到活动的地方(我的应用程序的登录活动)没有任何崩溃或没有回应的消息.

谢谢.

android facebook android-facebook

8
推荐指数
4
解决办法
5316
查看次数

Android facebook sdk导入错误

我在我的eclipse添加v4 jar文件中下载facebook skd导入它并将编译器更改为1.6但是它在类FacebookAppLinkResolver中给我错误

import bolts.AppLink; import bolts.AppLinkResolver; import bolts.Continuation; import bolts.Task;

在此输入图像描述 以上不是重要的

android android-facebook

7
推荐指数
3
解决办法
1万
查看次数

fb:// profile/{userid}似乎无法正常工作

我尝试使用特定页面启动Facebook应用程序,它正在使用早期版本的FB APP,但新版本是25.0.0.19.30.此功能无效,uri.parse("fb:// profile/{userid}")的意图将我带到内容不可用的页面.

  • 它是来自facebook的安全更新.

用特定用户页面启动应用程序的任何其他方式.

android facebook android-intent android-facebook

7
推荐指数
1
解决办法
8720
查看次数

Android facebook lib冲突,如何排除冲突?

官方facebook sdk lib与android sdk冲突,特别是:'com.android.support : animated-vector-drawables: 27.0.1'

摇篮:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "re.tryout123"
        minSdkVersion 19
        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'
        }
    }
}



repositories {
    maven { url "https://jitpack.io" }
    maven { url 'https://maven.fabric.io/public' }
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    compile 'com.android.support:design:26.0.1'
    compile 'com.android.support:appcompat-v7:26.0.1'
    compile 'com.android.support:recyclerview-v7:26.0.1'


    compile ('com.facebook.android:facebook-android-sdk:4.+') { …
Run Code Online (Sandbox Code Playgroud)

android facebook android-facebook android-gradle-plugin

7
推荐指数
1
解决办法
1722
查看次数