我正在创建一个测试应用程序来测试使用最新的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) 我正在学习如何使用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
显示一个空数组呢?
我已经按照Google的GCM 设置指南和他们在Github上的示例创建了一个接收通知的应用程序.
它什么时候起作用:
手机无法正常工作:
这款手机工作正常,它可以接收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) 我正在尝试使用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
但我不知道如何解决它.
任何的想法?
我正在构建一个使用多个数据库的 Flask 应用程序,因此我使用 SQLAlchemy 绑定。
由于我想隔离所有测试,因此我创建了session
开始事务并scoped_session
为每个测试创建事务的固定装置。测试完成后,我对事务应用回滚以再次获得初始状态。
当我只有一个数据库时,这工作得很好。但是,它不适用于新绑定。在下面的示例中,我有三个测试:
User
对象(默认绑定)。Message
对象(messages
绑定)。User
和 1 Message
。回滚后,我打印每个表中的行数。表User
(默认绑定)始终被清除,但Message
(messages
绑定)永远不会删除以前的行。
如何删除所有绑定的行?
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) 我想为我的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)
这里的主要问题是我不知道我将收到的论据.
我的目标是更新现有密钥的值并添加不在文档中的密钥.
任何的想法?
谢谢
我正在尝试删除带有问号符号的列:
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)
你还知道其他扔掉它的方法吗?
谢谢