Articles of facebook graph api

使用Android API 4+的Android Facebookvideo上传错误

我有这个代码,登录Facebook后,我想通过Facebook Android SDK v4.13.1将选定的video上传到Facebook, 问题 : 响应看起来不错,但video未在测试用户的时间轴中显示。 码: public void shareVideoFB(String videoPath, final ProgressDialog pd) { AccessToken accessToken = AccessToken.getCurrentAccessToken(); GraphRequest request = GraphRequest.newPostRequest(accessToken, “https://graph-video.facebook.com/me/videos”, null, new GraphRequest.Callback() { @Override public void onCompleted(GraphResponse response) { try { if (pd.isShowing()) pd.dismiss(); } catch (Exception e) { e.printStackTrace(); } onFBShareVideoCompleted(response); } }); Bundle params = request.getParameters(); try […]

如何使用Facebook SDK android获取Facebook照片,全名,性别

我正在开发一个Android应用程序,其中任何使用我们的应用程序登录Facebook的Android用户,我需要从Facebook提取他的照片,他的性别,他的全名。 我正在使用Facebook SDK。 在Facebook SDK的帮助下,我可以登录Facebook,但我不确定如何从Facebook中提取他的照片,性别和全名? 以下是我用于登录Facebook的代码。 我按照本教程 public class SessionLoginFragment extends Fragment { private static final String URL_PREFIX_FRIENDS = “https://graph.facebook.com/me/friends?access_token=”; private TextView textInstructionsOrLink; private Button buttonLoginLogout; private Session.StatusCallback statusCallback = new SessionStatusCallback(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment, container, false); buttonLoginLogout = (Button) view.findViewById(R.id.buttonLoginLogout); textInstructionsOrLink = (TextView) […]

分页不起作用,也许我find了原因

我正在尝试将流(新闻订阅源)分页function实现到我的应用程序,但它无法按预期工作。 我在这里发现了许多类似的问题,但没有解决方案来解决这个问题。 我尝试了Graph API和FQL,行为类似。 成功获得一到两次结果但在此之后,它无法获得结果(获取空的JSON数组)。 最后,我发现这个问题取决于access_token 。 如果我只是更改源代码以使用Android SDK流示例应用程序ID而不是我自己的应用程序ID进行身份validation,那么它可以完美运行。 所以,我相信facebook服务器会检查应用程序ID并将一些奇怪或受限制的access_token返回给我的应用程序。 是否有条件获得有效的access_token ? 我尝试使用Android SDK Stream示例应用程序完全相同的权限,但它无法解决问题。 我想与面临同样问题的任何人分享这些信息,并检查更改应用程序ID(获取有效的access_token )是否能解决您的问题。

Facebook 3.0 Android第二次登录尝试返回“会话状态关闭”

我正在尝试将Facebook集成到我的Android应用程序中。 使用Facebook登录按钮,我尝试登录。当我第一次安装应用程序时,它工作正常并成功登录。 当我使用该按钮注销,然后再次尝试登录时,它会显示权限对话框,但会关闭SessionState返回状态。 有什么建议么? 这是我的代码 public class LoginActivity extends FragmentActivity{ // private Login login; private boolean isResumed = false; private BirthDayComp app; private int Login=0; private int LogOut=1; private int Count=LogOut+1; private boolean loged= false; private Fragment[] fragments = new Fragment[Count]; private UiLifecycleHelper uiHelper; private Session.StatusCallback callback = new Session.StatusCallback() { @Override public void call(Session […]

Facebook – “无法通过用户名查询用户”解决方案

我正在开发一个Android应用程序。 我正在使用HttpURLConnection来获取Facebook用户的个人资料图片。 URL如下所示: http://graph.facebook.com/?ids=username1,username2,username3&fields=picture&type=square 但是现在,由于v2.2不允许我获取未使用我的Facebook应用程序的用户的个人资料图片,因此会抛出错误: {“error”:{ “message”: “(#803) Cannot query users by their username (username1)”, “type”: “OAuthException”, “code”: 803 } } 我对使用“Facebook SDK for Android”不感兴趣。 假设我使用popup式webview来授权我的Facebook应用程序。 什么url会让我做同样的事情? 有这样一个简单的解决方案: graph.facebook.com/?app= APP-ID &ids = username1,username2&fields = picture

从Facebook Graph-API获取用户图片

我想在列表视图中显示用户个人资料图片。 当我尝试从android调用graph-api来检索图像时,我总是得到以下错误。 java.io.IOException: Hostname was not verified at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.getSecureSocket(HttpConnection.java:170) at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection$HttpsEngine.connect(HttpsURLConnection.java:398) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.sendRequest(HttpURLConnection.java:1224) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doRequestInternal(HttpURLConnection.java:1558) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doRequest(HttpURLConnection.java:1551) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1052) at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection.getInputStream(HttpsURLConnection.java:252) at com.facebook.android.Util.openUrl(Util.java:200) at com.facebook.android.Facebook.request(Facebook.java:559) 这是我使用的代码: private static void retrieveProfilePicture(String userId) throws MalformedURLException, IOException{ facebook = FacebookHelper.getInstance(); Bundle bundle = new Bundle(); bundle.putString(Facebook.TOKEN, facebook.getAccessToken()); Object picture = facebook.request(“/”+userId+”/picture”, bundle, “GET”); 当我在浏览器中执行相同的调用(https://graph.facebook.com//picture?access_token=)时,我会在这样的url上返回返回的图像,如https://fbcdn-profile-a.akamaihd.net/… 以什么格式传送给我的图像? 带有引用映像的jSON(url)?

facebook如何使用密钥哈希validation应用程序的真实性?

在使用Facebook开发Android应用程序时,您需要将应用程序的密钥哈希上传到其网站。 有了这个,他们声称他们能够validation他们的服务器的调用实际上是从您的应用程序。 我已经读过这个问题Facebook如何validation移动应用程序,但它并没有真正提供实际的实现。 我试过查看facebook库的源代码,但无法弄明白。 从Android应用程序发送哪些数据以及可以在服务器中针对此哈希validation的加密? facebook实施的方法是否安全? 如果是,并且它可以在任何服务器中实现,我可以使用它来validation我的服务器我的应用程序没有使用不同的代码重新编译(这往往经常发生:() 我目前正在以这种方式实现这个想法: Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures; for (Signature sig : sigs) { verifyInServer(sig.hashCode()); } 其中verifyInServer是伪代码,用于针对具有签名存储值的服务器进行的检查。 它现在已经工作了,但我不确定它是否安全,而且我宁愿检查一个密钥哈希(它的公共)而不是这个签名数据(我不确定它是否是私有的,而不是可以欺骗的用户 )。

在Facebook Android SDK 4.0中设置按钮的登录/注销文本?

我的xml看起来像这样 和背景drawble xml是 现在在android工作室预览屏幕中,它按预期显示。 但是当我在手机或模拟器上运行它时,默认显示“登录FACEBOOK”,就像这样 如何在运行应用程序时获取自定义文本?

登录错误:登录此应用程序时出错。 请稍后再试

我收到了这个错误。 当我尝试使用Facebook登录我的应用程序时。 当我第一次进行身份validation时,它将正常工作。 在我取消了我的应用程序并且现在尝试使用Facebook登录后,我收到此错误。 另一个问题 :在device1中进行身份validation并尝试在设备2上使用facebook登录时也会出现同样的错误。 我find的解决方案:当我从Facebook应用程序设置中删除App身份validation时,它正在上面的场景中运行,但这不是一个很好的解决方案,我们可以告诉用户如何执行此操作? btnFbLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(accessToken != null) { boolean expires = accessToken.isExpired(); if(!expires) { performFbLoginOrSignUp(accessToken); } } else { LoginButton loginButton = (LoginButton) findViewById(R.id.login_button); callbackManager = CallbackManager.Factory.create(); if (loginButton != null) { loginButton.setReadPermissions(“public_profile”, “email”, “user_friends”); if (CommonUtil.isConnectingToInternet(LoginActivity.this)) { loginButton.performClick(); loginButton.setPressed(true); loginButton.invalidate(); loginButton.registerCallback(callbackManager, mCallBack); […]

Google Cloud Endpoints和用户身份validation

我目前刚进入AppEngine世界,并希望使用Cloud Endpoints为我正在开发的移动应用程序创建后端。 我现在的一个问题是关于用户的身份validation。 我一直在关注App Engine上的Udacity的MOOC,他们教我们如何使用Google帐户validation用户的API请求。 在后端,我们只需要在我们的方法中添加一个User参数,并检查用户是否已登录。据我所知,此用户参数由App Engine根据我们的请求的Authorization标头生成。 ( 可能需要一些确认 ) 现在,有一些我不太了解的东西,并且在这个MOOC上没有那么好解释。 现在,除了谷歌之外,我想知道这是否与其他OAuth方案兼容? 那么,如果我想实现Facebook身份validation,我会简单地传递facebook访问令牌吗? 根据我搜索的内容,在Android上使用Facebook SDK会让我能够生成一个用户访问令牌,用于识别我的用户到Facebook 。 将它发送到我的后端后,我想用Facebook检查它的有效性,如果它有效,请为我的应用程序创建一个新用户。 现在,我还想生成一个新标记,用于标识我的应用程序的用户。 我需要做什么?