Articles of facebook android sdk

如何从Android中的bundle中提取值

在通过Facebook_Android SDK发送请求时,我得到了一个包。 有人可以解释它是什么数据types以及如何提取数据? 谢谢。 01-28 11:58:07.548: I/Values(16661): Bundle[{to[0]=100005099741441, to[1]=100005089509891, request=134129756751737}] 编辑这里,[i]是一个字符串数组。 我能够做到。 但我不认为这是正确的方法。 for(int i=0;i< size-1;i++){ System.out.println(values.getString("to["+i+"]")); } 其中size是Bundle的大小,称为value

设置从Facebook登录获取用户电子邮件ID的权限

我正在使用Facebook 3.0 SDK for android。 我必须实现Facebook登录。我正在访问用户的基本信息,如name,userID。 但我也希望能够访问用户的电子邮件。 我经历了很多博客和论坛,但无法弄清楚如何做到这一点。 我使用自己的android按钮登录而不是com.facebook.widget.LoginButton 。 如果我使用Facebook登录按钮,则只需使用以下行: authButton.setReadPermissions(Arrays.asList(“basic_info”,”email”)); 但是,我有自己的要求,必须使用默认的android按钮。 这是我到目前为止所做的: Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest( this, Arrays.asList(“email”)); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLogin = (Button) findViewById(R.id.logIn); mLogin.setOnClickListener(this); } @Override public void onClick(View v) { // start Facebook Login Session.openActiveSession(this, true, new Session.StatusCallback() { // callback when session changes […]

如何在android中获取facebook用户访问令牌?

我正在使用restfb API访问我朋友的Java照片。 为了访问这些照片,我使用Graph API资源管理器手动生成访问代码,并将其作为parameter passing给restfb API调用。 但现在我想通过代码(以编程方式)生成此访问令牌。 我见过fb android示例,特别是hackbook。 我没有看到生成任何访问代码,我可以将其用于我自己的应用程序。 我是否需要创建一个新的应用程序并获得一些秘密等? 任何建议将不胜感激。 我已经在stackoverflow上看到了这些解决方案( 解决方案-1和解决方案-2 ),但我仍然没有从哪里开始? Update-1 :: 我正在使用以下代码登录并获取登录用户的访问令牌。 但问题是它只适用于我在facebook上创建应用程序以生成app_id的帐户。 它没有收到其他帐户的回电。 有任何建议请。 如果你不知道从哪里开始,请按照步骤6从头开始创建一个新的应用程序。 public class MainActivity extends Activity implements OnClickListener { Button login; TextView accessToken; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); login = (Button) findViewById(R.id.login); accessToken = (TextView) findViewById(R.id.accessToken); login.setOnClickListener(this); // start Facebook Login […]

用于facebook android sdk的facebook api版本

我在Facebook开发者处收到以下警报: ‘MyApp目前可以访问Graph API v2.2,它将在2017年3月27日达到其2年生命周期的终点。为了确保平稳过渡,请将所有调用迁移到Graph API v2.3或更高版本。 我正在使用Facebook Android SDK 3.23.0。 我怎么知道这种Facebook Android SDK中使用的Graph API的版本? 谢谢

Maven和Android Facebook SDK apklib

所以我正在进行maven-ing facebook-android-sdk以包含在我们的CI过程中。 Facebook的/ pom.xml中: 4.0.0 com.facebook.android facebook-android-sdk 3.0.0-SNAPSHOT facebook-android-sdk apklib UTF-8 UTF-8 com.google.android android 4.1.1.4 provided com.google.android support-v4 r7 jar ${project.artifactId} src com.jayway.maven.plugins.android.generation2 android-maven-plugin 3.4.1 ${project.basedir}/AndroidManifest.xml ignored ${project.basedir}/res ignored 16 true org.apache.maven.plugins maven-javadoc-plugin true com.google.code.maven-replacer-plugin maven-replacer-plugin 1.4.1 process-sources replace false target/generated-sources/r/com/facebook/android/R.java target/generated-sources/r/com/facebook/android/R.java false static final int static int org.codehaus.mojo build-helper-maven-plugin 1.7 package attach-artifact jar ${project.build.directory}/${project.build.finalName}.jar […]

从静态方法调用finish()

我正在使用Facebook Android SDK,并希望在用户登录并获取用户对象后关闭我的Activity。 在实践中我存储它的一部分,但我想关闭活动,无论如何。 // make request to the /me API Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { // callback after Graph API response with user object @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { finish(); // causes errors } } }); finish()上的IDE错误消息是: “Cannot make a static reference to the non-static method finish() […]

Android Studio Gradle错误“多个dex文件定义…”

我的项目工作正常,当我将facebook sdk添加到我的项目中时,我有这样的错误,我已经尝试了很多方法来解决这个问题,但我没有。 我该怎么办? Error:Execution failed for task ‘:app:packageAllDebugClassesForMultiDex’. > java.util.zip.ZipException: duplicate entry: bolts/AggregateException.class 我的App gradle在下面 apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion ‘21.1.2’ defaultConfig { applicationId “com.example.myproject” minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName “1.0” multiDexEnabled = true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 […]

Facebook SDK for Android – 以编程方式设置应用程序ID

我有一个原生Android应用程序,需要根据可在运行时更改的应用程序设置连接到不同的Facebook应用程序(不同的应用程序ID)。 想象一下,应用程序可以设置为指向DEV,TEST或PROD。 当指向DEV时,FB应用程序ID应为“1”。 当指向TEST时,FB应用程序ID应为“2”。 等等 问题是来自Facebook SDK的UiLifecycleHelper在onCreate阶段自动从AndroidManifest.xml读取“com.facebook.sdk.ApplicationId”。 似乎没有办法以编程方式设置它。 是否可以使用UiLifecycleHelper并在运行时指向不同的应用程序ID,还是必须回退到手动管理会话?

获得Facebook的读取权限后获取publish_action权限

我正在将Facebook登录整合到我的应用程序中。 我能够获得读取权限,但如何从Facebook SDK获取发布权限。 这就是我要求读取权限的方式: @Override public void onClick(View v) { Session currentSession = Session.getActiveSession(); if (currentSession == null || currentSession.getState().isClosed()) { Session session = new Session.Builder(context).build(); Session.setActiveSession(session); currentSession = session; } if (currentSession.isOpened()) { // Do whatever u want. User has logged in } else if (!currentSession.isOpened()) { // Ask for username and password OpenRequest […]

即使首次登录,Facebook AccessToken.getAccessToken在打开应用时仍为空

我已经集成了最新的Facebook android sdk(Sdk 4.0)。 这是我在onCreate方法中添加的代码。 FacebookSdk.sdkInitialize(this.getApplicationContext()); callbackManager = CallbackManager.Factory.create(); if(AccessToken.getCurrentAccessToken()!=null){ Log.d(FBTAG,”facebook already logged in”); isFBLogin = true; } LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback() { @Override public void onSuccess(LoginResult loginResult) { // App code Log.d(FBTAG,”facebook log in”); isFBLogin = true; } @Override public void onCancel() { // App code isFBLogin = false; } @Override public void onError(FacebookException error) […]