我使用以下代码来获取google plus的访问令牌.有没有办法获取刷新令牌,以便我可以从Web服务器脱机访问谷歌API.
String accountName = params[0];
String scopes = "oauth2:profile email";
String token = null;
try {
token = GoogleAuthUtil.getToken(getApplicationContext(), accountName, scopes);
} catch (IOException e) {
Log.e(TAG, e.getMessage());
} catch (UserRecoverableAuthException e) {
startActivityForResult(e.getIntent(), REQ_SIGN_IN_REQUIRED);
} catch (GoogleAuthException e) {
Log.e(TAG, e.getMessage());
}
Run Code Online (Sandbox Code Playgroud) 使用序列化程序方法字段时,带有小数的字典将转换为整数.
例如.
class BillSerializer(serializers.ModelSerializer):
bill_details = serializers.SerializerMethodField()
class Meta:
model = Bill
fields = ('__all__')
def get_bill_details(obj):
return {'editable': False,
'final_amt': Decimal('4198.00'),
'total_amt': Decimal('4198.00'),
}
Run Code Online (Sandbox Code Playgroud)
成为这个:
"bill_details": {
"total_amt": 4198,
"editable": false,
"final_amt": 4198
}
Run Code Online (Sandbox Code Playgroud)
这有什么解决方案吗?我期待这个:
"bill_details": {
"total_amt": "4198.00",
"editable": false,
"final_amt": "4198.00"
}
Run Code Online (Sandbox Code Playgroud) 我有一个bitbucket团队,有几个存储库,但我忘记了用户密码登录.我有团队的用户密码凭据,我可以通过该凭据访问和克隆存储库.有没有办法在这种情况下找出名称或链接到存储库?任何API或git命令都可以.我已经在bitbucket网站上搜索过但无法找到任何信息.
我经常遇到这个问题.例如.
abcd abcd
xyzw xyzw
现在我必须删除仅单个字符之间的空格.线条前面也有一些字符.
我想尝试这样的事情:s/[az] [az]/[az] [az]/g - 有什么可能替换表达式?
这只是问题的一个例子.当我不得不应用一些搜索来找到这些类型的表达式并替换为表达式而不是完全替换它们而只替换它的一部分时,我会遇到类似的问题.
编辑:想要删除单个字符之间的单个空格.
我有一个环境配置文件,我已经定义了环境变量.我使用source在shell脚本(bash)中获取这些变量.
我在我的shell脚本中使用checkout命令检查环境变量中定义的位置的文件.现在我需要使用多个位置来检查文件,这些文件可以是任何数字,用于不同的shell脚本运行.
例如.用户在配置文件中提供两个路径PATH1和PATH2,并且NUM_OF_PATHS为2.
在我的shell脚本中,我想要使用下面的内容来使用路径.
i=0
echo ${NUM_OF_PATHS}
while [ $i -lt ${NUM_OF_PATHS} ]
do
checkout $PATH{$i}
i=`expr $i + 1`
done
Run Code Online (Sandbox Code Playgroud)
如何使用变量i形成环境变量PATH1或PATH2等?
目前我正在一个类中创建greenDAO数据库连接(它在每个静态方法中打开连接)并在我需要的地方使用它.但我不确定这是否是最佳方式.谁能建议一个更好的方法呢?
我的代码:
import com.knowlarity.sr.db.dao.DaoMaster;
import com.knowlarity.sr.db.dao.DaoMaster.DevOpenHelper;
import com.knowlarity.sr.db.dao.DaoSession;
import com.knowlarity.sr.db.dao.IEntity;
public class DbUtils {
private static Object lockCallRecord =new Object();
private DbUtils(){};
public static boolean saveEntity(Context context , IEntity entity){
boolean t=false;
DevOpenHelper helper=null;
SQLiteDatabase db=null;
DaoMaster daoMaster=null;
DaoSession daoSession =null;
try{
helper = new DaoMaster.DevOpenHelper(context, IConstant.DB_STRING, null);
db = helper.getReadableDatabase();
daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
//Some business logic here for fetching and inserting the data.
}catch (Exception e){
Log.e("saveEntity", e.getStackTrace().toString());
}finally{
if(daoSession!=null)daoSession.clear();
daoMaster=null;
if(db.isOpen())db.close();
helper.close();
}
return …Run Code Online (Sandbox Code Playgroud) 如何MediaStore.Images.Media.EXTERNAL_CONTENT_URI在两个日期之间查询内容解析器()?我正在尝试使用代码,但这不起作用.
Calendar c = Calendar.getInstance()
Date date2 = c.getTime();
c.add(Calendar.YEAR,-1);
Date date1 = c.getTime();
Cursor cursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection,
MediaStore.MediaColumns.DATE_ADDED + ">=? and "+MediaStore.MediaColumns.DATE_ADDED +"<=?",
new String[]{"" + date1,""+date2},
MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");
Run Code Online (Sandbox Code Playgroud) 我正在使用janus-gateway在Web浏览器中进行记录。录制完成后,将生成两个文件,一个是音频,另一个是视频。两者都有格式mjr。如何将这两个文件合并为一个文件?
class A
{
A a;//why can't we do this in C++ but it is allowed in Java?
};
Run Code Online (Sandbox Code Playgroud)
使用这个问题,我开始知道为什么在C++中不允许它,但为什么在java中允许它?根据编译时不知道内存大小的相同论点,它也不应该在Java中允许.
我正在尝试根据不同的参数创建一个timedelta字典.例如.
from django.utils import timezone
a = {'Minutes':(lambda dt,delta: dt + timezone.timedelta(minutes=delta)),
'Hours': (lambda dt,delta: dt + timezone.timedelta(hours=delta)}
Run Code Online (Sandbox Code Playgroud)
现在使用上面的字典时:
new_time = a['Minutes'](timezone.now(),10)
Run Code Online (Sandbox Code Playgroud)
它给出以下错误:
/usr/local/lib/python2.7/dist-packages/django/core/management/commands/shell.pyc in <lambda>(dt, delta)
----> 1 a = {'Minutes':(lambda dt,delta: dt + timezone.timedelta(minutes=delta))}
NameError: global name 'timezone' is not defined
Run Code Online (Sandbox Code Playgroud)
请解释为什么我不能在lambda中使用导入的函数.
我有一个输入文件如下.我需要根据2,3和5列将它们分成多个文件.该文件有更多列,但我使用cut命令只获取所需的列.
12,Accounts,India,free,Internal
13,Finance,China,used,Internal
16,Finance,China,free,Internal
12,HR,India,free,External
19,HR,China,used,Internal
33,Finance,Japan,free,Internal
39,Accounts,US,used,External
14,Accounts,Japan,used,External
11,Finance,India,used,External
11,HR,US,used,External
10,HR,India,used,External
Run Code Online (Sandbox Code Playgroud)
输出文件:
Accounts_India_Internal --
12,Accounts,India,free,Internal
Finance_China_Internal --
13,Finance,China,used,Internal
16,Finance,China,free,Internal
HR_India_External --
12,HR,India,free,External
10,HR,India,used,External
HR_China_Internal --
19,HR,China,used,Internal
Run Code Online (Sandbox Code Playgroud)
等等..
请让我知道如何实现这一目标.
截至目前,我正在考虑根据这些列(2,3,5)对文件进行排序,然后在每条记录上运行循环并开始创建文件.如果文件不存在,则创建并添加记录.否则打开旧文件并添加记录.
是否可以使用shell脚本(bash)执行此操作?