小编mar*_*nes的帖子

Facebook Android SDK 4.5.0获取电子邮件地址

我正在创建一个测试应用程序来测试使用最新的facebook SDK更新我们现有的应用程序问题是我需要获取我知道的电子邮件地址取决于用户是否在他的帐户中提供了一个.现在,我正在使用的帐户提供了一个肯定的帐户,但由于未知原因,facebook SDK仅提供user_id和帐户的全名,而不提供任何其他内容.我对此感到困惑,因为SDK3及以上版本提供了比更新的SDK4更多的信息,而且我对如何获取电子邮件感到迷茫,因为到目前为止我看到的所有答案都没有提供我的电子邮件.到目前为止,这是我的代码:

登录按钮

@OnClick(R.id.btn_login)
    public void loginFacebook(){
        LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "email"));
    }
Run Code Online (Sandbox Code Playgroud)

LoginManager回调:

LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                requestUserProfile(loginResult);
            }

            @Override
            public void onCancel() {
                Toast.makeText(getBaseContext(),"Login Cancelled", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onError(FacebookException e) {
                Toast.makeText(getBaseContext(),"Problem connecting to Facebook", Toast.LENGTH_SHORT).show();
            }
        });
Run Code Online (Sandbox Code Playgroud)

以及用户个人资料的请求:

public void requestUserProfile(LoginResult loginResult){
        GraphRequest.newMeRequest(
                loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                    @Override
                    public void onCompleted(JSONObject me, GraphResponse response) {
                        if (response.getError() != null) {
                            // handle error
                        } else {
                            try {
                                String email …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api facebook-sdk-4.x

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

Laravel中的填充方法不起作用?

我正在学习如何使用Laravel框架,但我在填写模型时遇到了麻烦.这是我的代码:

型号Event:

<?php
class Event extends Eloquent {
  //Some functions not used yet
}
Run Code Online (Sandbox Code Playgroud)

这是控制器中的代码:

$event = new Event();
$event->fill(array('foo', 'bar'));
print_r($event->attributes);
Run Code Online (Sandbox Code Playgroud)

那么,为什么print_r显示一个空数组呢?

php laravel

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

如果应用程序在某些设备中关闭,则GCM推送通知无效

我已经按照Google的GCM 设置指南和他们在Github上的示例创建了一个接收通知的应用程序.

它什么时候起作用:

  • 应用程序打开(所有设备)
  • 应用程序在后台(所有设备)
  • 应用已关闭(除一个外)

手机无法正常工作:

  • 华为P8精简版
  • Android 5.1
  • Google Play服务8.3.01

这款手机工作正常,它可以接收WhatsApp消息或任何其他类型,即使用户杀死该应用程序.

我担心这可能发生在我没有测试的许多其他设备中.所以我想展示一些代码,看看是否有任何问题.

我在这里AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.presentation" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- Keeps the processor from sleeping when a message is received. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!-- This app has permission to register and receive data message. -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission
        android:name="com.example.presentation.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <uses-permission android:name="com.example.presentation.permission.C2D_MESSAGE" />

    <application
        android:name=".AndroidApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <receiver …
Run Code Online (Sandbox Code Playgroud)

android google-cloud-messaging

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

cURL适用于我的REST API但不是Guzzle

我正在尝试使用Guzzle将我的Laravel框架连接到我的服务器.每个GET请求没有参数,但我遇到POST问题.

这个使用cURL的请求工作正常:

curl -i -X POST -H 'Content-Type: application/json' -d '{"email":"user@domain.com", "pwd":"xxxxxx"}' http://www.example.com:1234/rest/user/validate
Run Code Online (Sandbox Code Playgroud)

这就是我试图用Guzzle实现的:

$response = GuzzleHttp\post('http://www.example.com:1234/rest/user/validat', [
            'headers' => ['Content-Type' => 'application/json'],
            'body'    => ['{"email":"user@domain.com", "pwd":"xxxxxx"}']
]);     
print_r($response->json());
Run Code Online (Sandbox Code Playgroud)

当我提出请求时,我收到下一个错误:

[status code] 415 [reason phrase] Unsupported Media Type
Run Code Online (Sandbox Code Playgroud)

我认为是相关的,body但我不知道如何解决它.

任何的想法?

php rest curl guzzle laravel-4

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

使用绑定在多个数据库中回滚 Flask-SQLAlchemy 事务

我正在构建一个使用多个数据库的 Flask 应用程序,因此我使用 SQLAlchemy 绑定。

由于我想隔离所有测试,因此我创建了session开始事务并scoped_session为每个测试创建事务的固定装置。测试完成后,我对事务应用回滚以再次获得初始状态。

当我只有一个数据库时,这工作得很好。但是,它不适用于新绑定。在下面的示例中,我有三个测试:

  1. 测试一创建 2 个User对象(默认绑定)。
  2. 测试二创建 2 个Message对象(messages绑定)。
  3. 测试三创建 1User和 1 Message

回滚后,我打印每个表中的行数。表User(默认绑定)始终被清除,但Messagemessages绑定)永远不会删除以前的行。

如何删除所有绑定的行?

import pytest

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80))

    def __repr__(self):
        return '<User %r>' % self.username


class Message(db.Model):
    __bind_key__ = 'messages'
    id = db.Column(db.Integer, primary_key=True)
    message = db.Column(db.String(80))

    def …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy

6
推荐指数
0
解决办法
570
查看次数

使用Node的MongoDB的PATCH方法

我想为我的API创建一个PATCH方法,但有些东西我不明白.想象一下,我的MongoDB数据库中有以下文档:

{
    _id  : ObjectId(1234...),
    name : "bob",
    age  : 30
}
Run Code Online (Sandbox Code Playgroud)

现在我想更新此文档,但我不知道keys我的API会收到什么.所以想象一下我request为了改变age而做了一个但也加了一个last_name.

请求结果如下:

{
    _id  : ObjectId(1234...),
    name : "bob",
    last_name : "smith",
    age  : 44
}
Run Code Online (Sandbox Code Playgroud)

这里的主要问题是我不知道我将收到的论据.

我的目标是更新现有密钥的值并添加不在文档中的密钥.

任何的想法?

谢谢

mongoose mongodb node.js

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

MySQL:删除带有问号的列?

我正在尝试删除带有问号符号的列:

ALTER TABLE player DROP is_playing?;
Run Code Online (Sandbox Code Playgroud)

结果:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 2
Run Code Online (Sandbox Code Playgroud)

你还知道其他扔掉它的方法吗?

谢谢

mysql sql-drop

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