小编Red*_*ile的帖子

Guzzle Curl Error 60 SSL无法获得本地发行人

尝试使用YouTube API v3获取一些视频信息,使用服务描述符在Symfony2中使用Guzzle.

当我运行脚本时,我得到了这个:

[curl] 60:SSL证书问题:无法获得本地发行人证书[url] https://www.googleapis.com/youtube/v3/videos?id=2xbVbCoHBgA&part=snippet&key= {MY_KEY}

500内部服务器错误 - CurlException

我的描述符看起来像这样:

{
    "name": "YouTube",
    "baseUrl": "https://www.googleapis.com",
    "apiVersion": "v3",
    "description": "YouTube GData Graph API",
    "operations": {
        "GetVideos": {
            "httpMethod": "GET",
            "uri": "/youtube/v3/videos",
            "parameters": {
                "id": {
                    "type":"string",
                    "location":"query",
                    "required": true
                },
                "part": {
                    "location": "query",
                    "default": "snippet"
                },
                "key": {
                    "location": "query",
                    "default": "{MY KEY}",
                    "static": true
                },
                "maxResults": {
                    "location": "query",
                    "default": 50
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在本地Ubuntu 14.04开发环境中运行的,其中包含一个非常基本的LAMP堆栈.

关于可能导致这种情况的任何想法?

php ssl curl symfony guzzle

23
推荐指数
8
解决办法
4万
查看次数

Symfony2:在Twig中,使用Render函数传递Request

我理解使用{% render() %}自动强制发送一个新的请求对象,但是好奇如果有一种方法可以将原始请求作为参数传递?

{% render('some_action', {'originalRequest': app.request}) %}
Run Code Online (Sandbox Code Playgroud)

这对控制器似乎没有任何作用:

public function actionAction($originalRequest = null) 
{
    // $originalRequest ends up just being null
}
Run Code Online (Sandbox Code Playgroud)

我假设它是因为路线的设置方式:

some_action:
    pattern: /stuff/
    defaults: { _controller:SomeApp:Controller:action }
Run Code Online (Sandbox Code Playgroud)

我想像这样的数据显然不能成为URL的一部分,所以某种类型的方式将数据传递给可渲染的URL,什么都没有?

编辑(解决方案)

从长远来看,解决方案非常简单,正如下面的PetrePătraşc所证明的,在Twig中,我需要做的就是直接调用Controller,并且通过这种方法,我可以传入对象(例如Request对象)和Arrays而不是URL中的文本值.
要在控制器中执行大致相同的想法,利用forward()路由器中的方法,将允许类似的效果,而无需将用户重定向到另一个页面.

symfony twig

14
推荐指数
2
解决办法
8609
查看次数

上下文需要FLAG_ACTIVITY_NEW_TASK,但我已经设置了该标志

我为我工作的公司创建了一个通用的可重用类来创建一些通用的界面元素.

该类接受构造中的单个参数:应用程序上下文.

其中一种方法ContentClickableRowWithIcon允许您传入一个用作点击操作的意图.

继承人完整的方法声明:

public LinearLayout ContentClickableRowWithIcon(Drawable icon, String title, Intent i, final Boolean chooser)

onClickEvent中使用的最后一个属性来确定是调用选择器还是直接进入意图.

public LinearLayout ContentClickableRowWithIcon(Drawable icon, String title, Intent i, final Boolean chooser) {

    LinearLayout ll = new LinearLayout(mContext);

    // ..  LinerLayout construction, has nothing to do with the action

    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // this is apparently getting ignored... (ps: i've tried i.setFlags as well)

    final Intent intent = i;

    ll.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            if(chooser)
                mContext.startActivity(Intent.createChooser(intent, "Complete With...")); // crashes here with: …
Run Code Online (Sandbox Code Playgroud)

java android android-intent android-sdk-2.3

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

意图使用youtube app个人资料/频道

我可以通过youtube应用程序轻松查看视频,但是如何获取个人资料/频道?

    public void YouTube(String id) {
        // Play Youtube Video
        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+id));
        mContext.startActivity(i);
    }
Run Code Online (Sandbox Code Playgroud)

我......只是不知道从哪里开始呢?是否有特定的Uri要解析?我当然试过在互联网上搜索,我正在寻找答案.它首先是否可能?

多谢你们!

java youtube android

8
推荐指数
2
解决办法
6281
查看次数

ElasticSearch multi_match如果字段存在应用过滤器,否则不担心它?

所以我们得到了一个弹性搜索实例,但是一项工作需要"组合搜索"(单个搜索字段,具有types跨特定索引的复选框)

这很好,我只是将这种搜索应用于我的索引(为了简洁:/ posts):

{
    "query": {
        "multi_match": {
            "query": querystring, 
            "type":"cross_fields",
            "fields":["title","name"] 
            }
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您可能从这里对multi_match的需求所猜测的那样,每种类型的模式都以这种或那种方式不同.这就是我现在面临的挑战.

在其中一种类型中,只有一种,有一个字段在其他类型中不存在,它被调用active,它是一个基本的布尔0或1.
我们想索引类型中的非活动项目以进行管理搜索,但我们不知道t希望此类型的非活动项目在搜索时向公众公开.

据我所知和理解,我想使用过滤器.但是当我提供一个要求为active1 的过滤器时,我现在只能从该类型获得结果,而不是其他任何东西.因为现在它明确地查找具有该字段且等于1的项目.

如何进行条件"if field exists,确保它等于1,否则忽略这个条件"?这甚至可以实现吗?

elasticsearch

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

WebView不像浏览器那样渲染css吗?

我意识到,WebView与内置浏览器是一回事吗?对?

我面临的问题是,包含一些绝对定位的div元素的页面都堆叠在彼此之上而不是找到它们的正确位置,并且背景图像被完全忽略.

这说,在我的手机上的浏览器(HTC Incredible S - 2.3.3,股票浏览器)正确地呈现它,并且除此之外,使用嵌入式webview的应用程序,我可以将其指向页面,正确呈现.这使我感到相信我的应用程序中的webview以某种方式变成了bjorking.

import android.app.Activity;
import android.content.Intent;
import android.graphics.Rect;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.Toast;

import java.util.*;

public class ShowWebView extends Activity {

    public WebView web;
    public String baseURL = "http://test.dev/";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webpage);

        web = (WebView) findViewById(R.id.webpage);
        home = (Button) findViewById(R.id.tool_Home);
        back = (ImageButton) findViewById(R.id.tool_Back);
        forward = (ImageButton) findViewById(R.id.tool_Forward);
        refresh = (ImageButton) findViewById(R.id.tool_Refresh);

        ajax …
Run Code Online (Sandbox Code Playgroud)

html css android android-webview

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

使用Sequelize获取创建或保存时的关联

相当简单的问题,只是找不到好的/干净的方式来做这个而不打电话给另一个发现

我已经使用Angular-Resource绑定了我的节点应用程序,而我只是对新数据或更改数据进行了一些往返数据调用.

所以ngResource $save()打电话给我/api/users/:id这样的.Node通过创建或查找用户,进行更新并保存它们来响应此调用.

无论是通过create()还是save(),它都会返回创建的记录,而现在,我使用res.json(user)溢出已创建/返回的Angular记录来处理使用更新的信息填充我的视图

现在,我知道Sequelizes find()findAll()方法,我可以findAll({ include: [{ all: true }]})单独使用或指定我的模型.

我想知道的是,在save/create上获取记录关联的最佳方法是什么

不幸的是,这不起作用:

models.User.create(newuser, {include:[{ all: true }]}).then(function(user) {
        res.json(user);
    });
Run Code Online (Sandbox Code Playgroud)

我是否真的必须执行另一个 find()才能获得我的托管模型关联?

javascript node.js sequelize.js angularjs angularjs-resource

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

Android:在Java中以MATCH_PARENT的运行时创建的按钮

嘿大家,

import android.widget.Button;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webpage);

        but_action = new Button(getApplicationContext());
        but_action.setVisibility(Button.INVISIBLE);
        toolbar.addView(but_action);
Run Code Online (Sandbox Code Playgroud)

关于上面的代码,这会创建一个隐藏按钮,我根据某些条件使其可见.这有效,按钮上的逻辑也是如此.

问题是按钮的高度是静态的,这是不可能的.我需要此按钮来简单地匹配其父项高度(因为您可以在工具栏视图中看到它,这只是一个水平线性布局),因为工具栏的高度在平板电脑大小的视图上是不同的,而不是电话大小的视图.

我听说我需要使用LayoutParams,但我会完全诚实:没有我尝试验证,什么时候验证:什么都不做.并且使用setHeight似乎只接受数值.

我有点陷入困境,我不知道还有什么可以尝试的.

(也有类似浮动的东西:正确;用于实时布局?)

android android-layout

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

Android:LayoutInflater和findViewById的困境

我正在尝试在循环中使用LayoutInflater,但每次实例化其中一个人时,我需要修改每个实例中至少2个TextView.我现在所拥有的内容恰当地即时发布,并且像我想要的那样添加了膨胀的xml视图,但结果是只有第一个instatiaton的资源被修改,因此它被多次覆盖.

            LayoutInflater inflater;
            TextView eTitle;

            for(String[] episode : episodes) {

                //Log.d("Episodes", episode[0] + " / " + episode[2]);
                inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                inflater.inflate(R.layout.episode_list_item, listView);
                eTitle = (TextView) findViewById(R.id.episode_list_item_title);

                eTitle.setText(episode[2]);
            }
Run Code Online (Sandbox Code Playgroud)

我的列表的示例输出:

  • 04 - 第04集
  • 剧集标题
  • 剧集标题
  • 剧集标题

它应该看起来像这样:

  • 01 - 第01集
  • 02 - 第02集
  • 03 - 第03集
  • 04 - 第04集

我需要做些什么来确保从我的膨胀布局中获取相应的唯一textview id?

android android-inflate

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

Doctrine Query Builder其中ManyToMany的计数大于

我正在使用Doctrine查询生成器,并且有一个非常具体的要求.

我在我的实体中使用ManyToMany字段,与用户实体关联(用户帐户实体数组)相关.

/**
 * @var ArrayCollection
 *
 * @ORM\ManyToMany(targetEntity="User", cascade={"persist"})
 * @ORM\JoinTable(name="post_user_list")
 */
protected $userList;
Run Code Online (Sandbox Code Playgroud)

在显示"公共帖子"的要求中,要求实体具有已发布的布尔值设置为true,发布日期小于当前日期,以及两个与实体关联的用户.

在我的查询构建器中,我设置了这个:

$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select($select)->from($this->getEntityName(), 'p');
$criteria = $qb->expr()->andX();
$criteria->add($qb->expr()->eq('p.editor_published', 1))
         ->add($qb->expr()->lte('p.datePublished', ':now'));
Run Code Online (Sandbox Code Playgroud)

并且只处理前两个要求,现在我需要一个条件条目来计算userList中的用户实体数量,而where子句专门用于大于或等于两个用户.

不完全确定在哪里继续..

doctrine many-to-many doctrine-query symfony doctrine-orm

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